What is the best practice for creating a site that will have a number of main nav sections along with sub-sections? Do you create a channel per section, a template group per section, or both? If it helps, I'm planning to use Taxonomy--I don't know if this would change the answer.
Knowing that you will use Taxonomy does change the answer. With Taxonomy the answer is "Neither." ...Unless that's really how you prefer to build your site!
Taxonomy is very flexible, and will do it's job regardless of how you set up your Channels, template groups, and templates. You don't need to set up channels to hold navigation-related data, that's all handled by Taxonomy.
So, I'd recommend setting up your Channels and templates based on what's efficient and easy to maintain for you, and intuitive and effort-saving for your client. Then you can configure Taxonomy as fits your site content and navigation needs.
I often use a combination of one or more "Pages" Channels (in conjunction with the Pages module and some re-usable templates) and some template groups that correspond to specific site sections/channels. Then I tell Taxonomy which channels entries and templates are available for linking to when creating a navigation node. Taxonomy also includes an option to use the Pages URI of an entry, too, which is handy.
And you can gain even more flexibility through the Taxonomy template tags.
So to summarize, it's totally your choice how to set the site up (and there are many approaches to accomplish the same result). Taxonomy will work with a variety of channel and template set-ups.