Olá,
Concordo que pra quem já está bem acostumado com o Swing é meio estranho a ideia dos controllers e de ter que usar loaders e etc. Com o tempo se pega a prática, entretanto não deixa de ser verboso o código para se abrir uma simples tela. enquanto no swing basta usar new MinhaJanela().show();, no FX tem que usar loader, criar uma scene, criar um stage… Certamente isso assusta e toma muito tempo, por isso criei minha própria biblioteca para criação de janelas, facilita muito pra quem já conhece o swing, funciona parecido, dê uma olhada: WindowControllerFx, certamente vai achar mais fácil (não é a salvação da humanidade, mas… facilita).
Sobre outras dificuldades, eu também encontrei quando fui migrar. Com o tempo você acaba percebendo que há mais ganhos que perdas, o que me fez gostar do Fx foram as possibilidades de customização que são muito facilitadas com o CSS, além de animações com Timeline que deixam o App muito top, criei um conceito de app, você pode conferir aqui: AwesomeUI.
Em suma tive uma facilidade maior com o FX por já ter tido experiências com o Android que muito se assemelham, exemplo: o coneceito de controllers -> Activity, os layouts em FXML -> XML do Android. No fim das contas você percebe que separar as coisas é bom e facilita a manutenção e crescimento do código. Não desista 
Se está iniciando ainda recomendo dar uma olhada nesse Projeto de Exemplo, que criei para iniciantes em uma palestra que ministei sobre o JavaFx. É um projeto simples mas está todo comentado e com bons exemplos de uso dos componentes e APIs do FX
.