We use IM extensively and have a public (as in 'on the open net') Jabber server. If you have an account here, you'll automatically have the whole company at your disposal.
We also have conference rooms for collaboration and a bunch of bots operating here. If you're in software, you'll have access to the dev room, for example. All the build information and unit test results get dumped there. Conference rooms are also great for a-synchronous group communication.
The main office has a high speed data link and you can connect to it via OpenVPN. This gives you access to the code repositories, testing databases (mainly for projects), wikis and other stuff depending on your profile.
Oh, yeah, we use email too :) But that's mostly for announcements, long-running discussions and communicating with third-parties.
I've used gotomeeting on my virtual windows machine for going through some project-specific details. Voice still goes through Skype.
IRC is great for a couple of developers on a private channel, but generally sucks for running a project or a company with non-techies. Run your own XMPP server.
Disciplined coding ninjas are rare. Use a centralized source repository and have everyone commit to that. We use SVN and with trac on top of it, it's a win situation all 'round. People that want to use git can use git-svn. (If you have developers complaining about SVN and not being able to use git-svn, you shouldn't have them committing in the first place).
Wikis (especially those from trac with integration with your source code) are a really good way to document some knowledge.
1) You get your own URL so you don't need to conference call people in each time.
2) We're client-server, so you can have tons of people in each conference room
3) We're free since we're in beta =)
Ironically, most valuable collaboration/project management tools are "generic" like im, voice, email as oppose to those designed specifically for collaboration/project management.
This is the working pattern, you and the other side both see the same screen and can type and use the cursor at the same time, while doing high quality voice chat. So you have for example a terminal with vi opened and code while talking, then open Firefox to reload and check what happened to the application after the modifications and so on.
All this very fluid under a common DSL line. It's almost like being on the same room.