I personally work at a virtual company, and aside from a neighbor which also works there, I have rarely met my coworkers in person. We use WebEx in order to have online meetings, and work on things together. We use Groopex Integrated Conferencing to integrate WebEx with our corporate site to easily schedule meetings and launch them. We use Google Apps to share various office documents around. We use MediaWiki to keep track of current projects, todo lists, documentation, and other important information. Lastly, for source code, we use various version control system with nice web frontends so the managers can see that we actually work on things.
For quick conversation with coworkers, we have an IRC server, and if we really need someone else urgently, we just pick up this archaic technology known as the "telephone".