I've never used a set team. I constantly rotate through at least a couple of dozen pokemon. Whenever I'm heading out to do some specific thing - explore a new route or traverse a cave or challenge a gym - I assemble a team specifically for that.
At this point, I rarely have any problems with my teams. I've put together so many different teams over the years that I don't even really think about it - I just "know" when I've got maximum coverage and minimum shared weaknesses.