I believe that's actually working as intended to prevent team stacking.
In MW2 I saw firsthand hundreds of matches completely ruined because a group/clan/friends join as a team and stack one side of a pub and the unbalanced teams just made everyone on the weaker team rage quit. It ruins the game for 1/2 the players on the server (those that did not join as a group).
If anything they should include better support for group vs group matches, so that people who want to play together will play another set of people who want to play together. That way you can play with your friends, but against other groups only and not pub players. There probably already is a way to setup these sorts of matches already.
Most FPS games will allow 1 or 2 people to switch teams, anymore than that the game will throw a 'team unbalanced' sort of message and not allow the switch. For example in CS:S the default value is +2 the other team. There is a BIG difference between 1 friends switching to the other team to play with a friend of his, (which is no big deal really) - and 8 people forming a group to join a server and pub stomp ruining the game for others.
Don't get me wrong of course I support there should be an option for friends to play together, but as long as it does not support/promote pub stomping as it did in MW2.
although i was one of those "pup stomping" groups i can see how this makes it more fair.