Il n'y a vraiment pas de bonne réponse à cela. Que vous utilisiez un formulaire distinct pour chaque écran ou un autre élément de l'interface utilisateur comme Panel ou UserControl, il utilisera à peu près les mêmes ressources. Cela signifie qu'il n'aura pas beaucoup d'impact sur la vitesse de chargement, la pression de la mémoire, etc. (en supposant que vous chargez ces ressources).
Personnellement, j'utilise généralement un seul formulaire contenant un ou plusieurs espaces de travail. Je crée ensuite un UserControl pour chaque vue (vous êtes separating View code from the Model, n'est-ce pas?) Et j'utilise le OpenNETCF IoC framework pour afficher ces vues dans l'espace de travail du formulaire approprié. J'utilise en fait le même cadre et la même méthodologie pour les applications de bureau. Ce n'est certainement pas la seule façon de faire les choses, mais cela a bien fonctionné pour nous sur plusieurs applications à grande échelle ainsi que sur des petites choses (ce qui signifie que la méthodologie est à la fois extensible et évolutive).