I have a piece of software that has over 30 screens ( and growing ), that are all required and relevant, etc.

What is the best way of building and managing multiple screens with C# and Windows Forms .net 3.5?

Currently, I'm building each screen as a user control, and then adding that control to my main form of the application. But this is something that is going to be huge, and I'm looking for any feedback on 'best practices' of multiple screen management.