Slack over Discord for me. It's more professional and has tons of integrations. It also has a free desktop, mobile, and web app, all of which are cross-platform to Windows, Mac, Linux, Android, iOS, and I believe even Blackberry and/or Windows Phone.
The voice chat is the only con as I see it; Slack's voice chat is akin to Skype but with better quality, whereas Discord's is akin to TeamSpeak with worse quality. On Slack, you have to actively join a call like you do with Skype, but on Discord you can join and leave a channel like you can on TeamSpeak.
There's a ton of reasons why I believe Slack is better. A lot of them come down to personal preference, though. One example off the top of my head is when posting a link such as YouTube, Slack makes better use of the chat space than Discord does. It also makes better use of the space on the right-side of the chat, whereas Discord does not. I also have troubles with Discord when opening it on the web browser where it'll autofocus a chat and make everything mark as read. I don't like that. I like to come back where I left off and read everything I've missed. Slack does this perfectly, without autofocusing onto a chat, so I can come back and read where I left off. When I have Discord open in my web browser, I can't tell what team or chat I'm focused on, yet with Slack it's right there in the tab's title, very easy to tell.
Discord also publicly claims they stole Slack's design, or as they call it, were "inspired by" it. To each their own. I see it as plagiarism or willful copyright infringement.
TeamSpeak is good, I don't see why everyone hates it. The voice quality is far superior to that of Slack, Discord, or Skype. The permissions system is highly customizable. It has a desktop and mobile app, no web app though. It's cross-platform. The only real con is its text chat, where it's reminiscent of MSN/Windows Live messenger.
Edit: This is the order I'd go with, with Slack being my first choice: Slack, TeamSpeak, Discord, Skype. Although I must say, if Discord wins, I won't be present 95% of the time. As ryanteck pointed out, it's very hipster and is the current fad of communication software.
Also, you could apply for a
TeamSpeak Non-Profit License, and if granted, you could have up to 512 users on your TeamSpeak for free. You simply download the
TeamSpeak server software from their website, host it on Innectis, copy the license file they give you to the TeamSpeak server directory, and you get 512 users for free, no monthly charge or anything. This is what I do for my own TeamSpeak. I've had my TeamSpeak NPL for over a year now and it's been extremely helpful. With self-hosting, you also can control hardware and bandwidth a lot better than you can with say Slack, Discord, or Skype. If you're depending on any of these for voice communication, you're at the whim of the company's bandwidth to be able to support your usage, whereas with TeamSpeak you can ensure the bandwidth is available a lot easier.
Also, Innectis already has a Slack, but it's not used and currently has sign-ups disabled (I was invited to it over a year ago when Innectis was unofficially demoing it):
https://innectis.slack.com/signup