I haven't found any chat style application that does threaded messaging "right" with how I think it should work (I want real time USNET with thread level ACLs).
That said, they're all ok IF (and that's a big if) everyone working with the accepts the "this is how they work" and use it as such with the appropriate level of technical literacy (and that's a big part of the big if).
Slack is ok. Its one deep and for active channels it can solve the "get a thread you two" so that a conversation doesn't spill over into the main channel. However, that hurts discoverability of messages... and for less active channels is likely overkill.
Zulip's is better than Slack with its topics... but is way overkill for a bunch of friends.
Teams has two styles with the team "here's a post, followups go on that" and "here's a group chat" which has no threading at all and tend to have new group chats forked for each new topic.
Discord has threads which allow for the slack style "get a thread" and a bit more ACL on the thread (different permissioning model for the base application).
All that said, I believe that the real thing that is lacking isn't threaded conversations but a strong chained reply-to feature. The best example of this I can find is Stack Overflow chat. For example, https://chat.stackoverflow.com/transcript/message/55971002#5... which is a reply (you can see that arrow thing) that you can click on and then follow to the message that it was a reply of, which itself is a reply to another comment.
And so, for me, it's not the thread that is important as that is discoverable - but rather the "what is this replying to?" along with the ability to fork a new room/channel that handles a given topic (because everything in one room is a complete mess).
Returning back to teams... it's ok. It serves the simplest interface acceptably. Every chat app would work better if everyone used it to its fullest... but as long as there's someone who doesn't use it "right" I'm going to suggest that Teams or Discord are probably the easiest to not use wrong (or set up to limit the 'how it can be used wrong is difficult').
The other side of Workspace is dealing with users who really want Office tooling for various reasons. Workspace and O365 still don't seem to play nice together. Workspace document management is great for Workplace-formatted documents, O365 is great for Office-formatted documents, and things often get messy when trying to combine the two.
I really liked Workspace and its really slick how integrated some of their document tools can be into Google Cloud so its easy to help team members who only really know spreadsheets get data in and out of cloud compute and UI builders and what not. But from last I saw of Hangouts they're still not as complete of a chat platform compared to Teams.
I'm not sure what quality of integration Teams has - but Chat has had this integration for several months now.
Now, that document isn't just in that chat, its also in the OneDrive/Sharepoint and in the history of recently opened documents in something like Excel or Word or Powerpoint.
Like I said, it may have improved in the last year or so (about when I had to change), but last I used Workspace the chat in Meet was practically ephemeral. If someone shared a link to a document in Meet, at the end of the Meet that link was practically gone. No additional permissions was granted, I wouldn't be able to quickly find it in a recent documents list, no chat history in my recent chats, the next time for the meeting there was no chat history, etc.
The fact that Meet and Chat are still two separate "products" really points to that bifurcation of the two things. There's the video chat platform: Meet, and then there's the collaboration and chat tool: Chat. In the Google world if you want to talk by text you use one product, and if you want to talk by voice/video you use a different product, if you're wanting to schedule a meeting you use yet another product. But in the end a meeting is a meeting. Meetings can involve voice, video, text, documents, and more and usually benefit from scheduling. Needing multiple "products" means kludging things together or having things more un-linked. And in the Microsoft world there's a single tool that can do all of those things: Teams.
That for me is a huge drawback because it's constantly cluttering up a huge mess of different document versions in SharePoint and teams itself.
Try to search for the right one a few weeks later. Good luck :)
Don't have people copy and pasting the file all over the place and you won't have a thousand versions of important_numbers_v3_final_V2_DRAFT.xls.xlsx. Thats a people problem not a technical problem.
In the end we did need to use it because we moved from another storage service to OneDrive (another "quick win") for a manager and OneDrive is really bad at team-owned storage, it's really for personally owned files only.
In my opinion, its not the most ergonomic tool out there but its by far the most fully realized tool out there. There's lots of tools that are good for this or good for that, but mixing them in together gets to be a bit kludgy. Having calendars, live editing of documents, meetings, chat, and other tools all integrated into a single tool is extremely handy when done right, and Teams to me gets like 85% of the way there. There's some things it just doesn't do well (like the threaded messaging, kind of a mess, maybe we just don't do it right), there's things where its inconsistent (different features for meeting chats versus individual versus group chats), and overall it could stand to be a lot faster and responsive. But in the end, when someone shares a document in a call I've got it in chat history and in my OneDrive and can recall it straight from Excel or Word or whatever. When someone emails me a calendar invite, its in my Teams automatically. The first-party integrations are hard to beat.
Do I prefer things like Mattermost for pure chat? Sure, but then its separated from the tools I use for document management and separated from what we'd use for video calls and separated from my calendar for meetings and separated from our actual org structure integrated into it and all kinds of stuff. In the end, I personally like all these things being well integrated, and can deal with not having all the custom emojis and a slightly more responsive chat client.