To answer your question, the most common pattern appears to be generalized hacking in my experience, however if you want a nice pattern check out the MVP (Model View Presenter) pattern from Microsoft's Patterns and Practices group. Although it's an ASP.NET pattern, I modify it slightly to use on Winforms all the time.
It's a nice separation of concerns, and allows for unit test to be built through programming to interfaces (design by composition).