I guess I should consider myself lucky, as I actually got some real-world, hands-on experience running virtual teams. Working for the government, I got the opportunity to coordinate a load of people located all over the world to achieve common goals. Of course, it's relatively easy at work as we have tons of fancy-shmancy communications gear that we can virtually reach out and touch someone.
Remove the fancy equipment, or more accurately, remove the massive budget (thank you, taxpayers) required to acquire and use this equipment, and you're left with the indie game developer conundrum: How do I get my team to communicate effectively?
That's a tough one. I've been struggling with it for a while. My team is currently stretched all over the world - England, Eastern Europe, all around the US and Canada, and Australia. We even had a temp team member from Japan. Getting everyone together at the same time for a wonderful staff meeting is virtually impossible - I tried. Since I can't get everyone together at once, I'm forced to get only some of them together. In fact, I prefer to talk details chiefly with the leads of each section, leaving it up to them to communicate down the chain. This not only streamlines your team, but also empowers your leads. For this type of communication, email works alright, but IRC or an IM client works much better (for obvious reasons). VoIP is also a great, cheap way to get a quick and clear exchange of information between two (or a small handful) of team members.
For a virtual team spread around the world working on completely different timetables, I've found a web forum is critical for group communication. Ideas and issues can easily be aired by anyone on the team, and everyone else can chime in if they've got an answer or opinion. Beyond this, forums allow everyone on the team to see firsthand the level of activity of the rest of the team, even if they're not directly involved with certain areas. 3D modelers, for instance, can virtually see activity in a programming board; while the modeler isn't directly involved in coding, he receives a bit of reassurance that progress is being made in little 1s and 0s that will eventually give his model life in the game.
In order to provide a summary of activity and to keep everyone updated on the "big picture" of the project, I also put out a weekly newsletter over email that gives such info. It's short, so it doesn't take anyone much time to read; it's got neato pictures to attract the eye; it lets the team know that, even if activity in the forums has been low, the project is still alive and breathing. Finally, it gives me a chance to give credit where credit is due and to highlight specific accoplishments of specific team members. ...I hope it gives everyone a virtual warm-and-fuzzy.
So that's my little rant about communication in a virtual team. Bottom line: it's absolutely vital. Virtually.