I recommend a few things
1. Don't treat SwingNode, JFXPanel as components equivalent to VBox or JTable. You should not set out to build a UI that integrates at the component level (even if feasible), meaning don't build a mashup of Swing and JavaFX components.
2. Integrate at the window level. If there are any of the aforementioned threading issues, a window integration can be a firewall where if that Swing/JavaFX integration fails, you can always close the window without wrecking your program.
3. Be consistent. If your navigation is from Swing, bring up JFrames that create JFXpanels. if your navigation is JavaFX, bring up Stages that create SwingNodes.
4. Keep the flow one-way. Don't have a JFrame bring up a JFXPanel that incorporates a SwingNode.
5. Test on all platforms. Write once, test everywhere