Oooh, ooh pick me, pick me.. lol
What makes a good team.. that in itself is a good question. As far as I can see it depends what you are up to. For instance the needs in Kara or a raid instance are very different to what is needed in a lvl 70 instance or any other instance.
What I've seen you post looks good - but considering some of the runs that we have done .. I can say that two tanks would be as useful as two healers. Which means while it can work really well for some of the run it won't necessarily work for ALL of the run ... and I know its as scary as hell when all those big bad mobs start chasing the healer
The reason I say this is that if you have 2 specialised "tanks" or "healers" means your group is missing something critical - excess DPS, no matter how hard a tank or a healer tries we can't keep up in the dps department. (Laments again on the loss of moonkin). This means while we are on your general mobs a group with 2 healers or 2 tanks could breeze through when you get to say a boss who "spawns" mobs, or whose health regenerates at an absurd rate if you don't have the DPS you are stuffed.
After a number of higher level runs what I would see as necessary is (a) Main Tank, (B) Healer (C) DPS (D) DPS (E) DPS - but it would probably be necessary that at least two of the DPS have some crowd control ability. Yes the tank can draw aggro but when you walk into a room full of demon worshippers and you can sap one, poly another then freeze or seduce a third leaving only 2 elites to deal with there is nothing better! because then concentration can be levelled on a mimimum field before you move onto the next target. Then when you get to the boss you have your tank draw aggro, healer stand as far outta range as possible & have dps do what they do best.
But having said the above the best thing that makes a GOOD team is having a team of players that do really know each other well. When you run an instance several times, or several instances, with the same "core" group of people and get to know their own play styles and where they are good or weak at it can make all the differance. If you can get a group where everyone knows whats expected and how the others play it can make things so much easier..
Otherwise we have all I think seen what happens in a group where you may know 1 person and all the others have been found randomly - all sorts of bad things can happen.
So 2 that end two things make up a good "instance" group and that is (a) know who you are playing with (b) make sure the "team" is suitably balanced for what you are attempting
Ohh and must contain at least me ....