My solution is as follows:


Tank: Prot Pal (aoe agro)
DPS: arcane (aoe) or fire (single target) Mage
Healing: resto shaman (riptide STACKS)
CC: Mage, Shaman


I am sure other tanks or healers could be sub (good thing about shaman is that you can convert to dps if needed), but this seems a solid balance, and with 3 classes programming should be simpler. And more prot pal if you need off tanks but mage also gives you CC, as does Shaman


Tank / DPS / Healing / CC

Pretty much takes care of 90percent of encounters.