I started off with 1 and worked my way up singly to 5 chars. I picked a healer as my first alt, since I wanted to not have to stop and eat and wanted to kill elites (back when they were out in the wild). Then I added a warlock to stop runners and add DPS so I could kill elites faster (again, out in the wild). Then I added a hunter so I could do instances with just DPS. It worked, but I hungered for a true tank for my squishy mains since they always pulled aggro. So last was warrior. Yeah, all different, but picked on purpose. And they rocked hard. Really good DPS, no micro managing, etc.

I used pretty much 3 main macros. Attack, heal and misc.
Just an example:
Attack:
Hunter - /castsequence [target=focus-target] reset=combat/target Serpent Sting, Arcane Shot, , , , , ,
Warlock - /castsequence [target=focus-target] reset=combat/target Corruption, Curse of Something, !Shoot, , ,
(I had 3 curses, weakness for bosses or meaninies, recklessness for runners and tongues for casters)
Priest - /castsequence [target=focus-target] reset=combat/target Shadow Word: Pain, , !Shoot, , ,
Warrior - /castsequence [target=focus-target] reset=combat/target Demoralizing Shout, Sunder, Thunderclap, Sunder, , , , , ,
Main - /castsequence reset=combat/target Spell 1, , Spell 3 (just example, spell 1 has a long cast time)

Pretty much 1 macro button for all people to do pretty good damage. Sure you make it totally DPS amazing, but then you have to work out how much you really need to do and how much more mana you are wasting if you only need a small DPS. Yeah, no timing on things much, since almost all are instant spells. Sorry, I chose things that way for a reason. If you have casting times, just put in a dummy command to give time for spells to cast.

Heal:
Hunter - /castsequence reset=combat/20 Mend Pet, , , , , , ,
Warlock - /castsequence [target=focus-target] reset=combat/12 Drain Life, , , , , , , , ,
Priest - /cast [target=WarriorName, nocombat] Power Word: Shield
/castsequence [target=focus-target-target] reset=combat/14 Renew, Flash Heal, Flash Heal, Power Word: Shield, , , , , ,
Warrior - /cast [target=focus-target, nocombat] Charge
/cast [combat] Thunderclap
Main - Just put in a spell that helps, or none if you want

Again, simple, one button, everyone tries to heal and take care of what is going on. No targeting. No heals for 1 person or another, just 1 heal spell for everyone. The priest heals whoever the mob is beating on. I put charge on my warior and PW:S on my priest, so they both do those at the same time. Tank ends up at the mobs with a sheild on and that gives me time to get all the DPS going before I need to heal.

So you can work with different classes, just try to pick which abilities you want. I wanted to have pets that I didn't have to watch. I wanted to have mostly instant casts so I didn't have to worry about timings. I wanted to have seperate abilites that I didn't have to worry about (no runners, trap to protect healer, complete aggro on tank, etc).