Como você escolhe entre MVVM, MVC e algo como TCA?
Pela complexidade real do app. O MVC da Apple é suficiente para uma tela que mostra e edita uma única coisa; o MVVM se justifica quando o estado da view é complexo o bastante para valer a pena testar separadamente; uma arquitetura unidirecional compensa quando o estado é compartilhado entre muitas telas e os bugs são sobre esse estado saindo de sincronia. Escolher logo a opção mais pesada custa velocidade por anos.