Our business runs in Virtual Office mode, so we do work in a distributed fashion, and have been doing so for 7 years. Some of our lessons learned are:

Intranet - Our Intranet has forums for info sharing: We put up interesting things we find on the Web, whether directly related to our departments or in the off-topic lounge (jokes) in the forums. We also use it to post announcements as well as document policies, procedures and pertinent links.

Online project management tools - We use an open source web based project management software (dotproject) to book meetings, manage work, etc. When I assign a task to programmers, I add the instructions for the task in the application and attach files there. The system just sends them a notification. There is a forum there for each project so that they can share info & tips. When I want to see the status of a project, I just look!

Online CRM tools - We use an OpenSource application - Sugar to manage business development. When my bosses want to know where I am with an opportunity, they just look!

LIke Jacques mentionned, we use synchronous communication for meetings. We actually don't really use a chat application - we find it can be distracting actually. but that is us.

What we've learned is to use a few tools, but use them right and to keep it really, really simple.

Oh yeah, and we use the phone too ;-)