I've been using matrix lightly for about a year, and running my own homeserver for the last month on a $5 vps.
https://matrix.org/
The setup is described at
https://git.sr.ht/~jamii/tower. It took me an hour or two to get everything working.
The protocol seems very well thought out. It has more in common with git than irc eg it can happily recover from long network partitions.
The protocol is federated, which means that you can have all the matrix communities that you join in a single UI instead of having multiple logins and multiple slacks to check.
There are a fair few 3rd party clients but so far I've only tried the riot web app and the riotx android client.
The riot web app running on a cheap vps is consistently faster than the slack web app that we pay for at work. Lately on our work slack I've also been experiencing frequent message reordering and more-than-once delivery but the matrix protocol is immune to both of those by design.
Messages are written in markdown, which I massively prefer over slacks weird almost-markdown.
Moderation is builtin to the protocol, including things like allowing moderators to give moderator privileges to other users on a room-granularity.
https://matrix.org/docs/guides/moderation
Threading is still pending, which makes large group chats difficult. I'm not sure when it's expected to land.
https://github.com/vector-im/riot-web/issues/2349
It's been adopted by KDE, Mozilla and the French state so it seems likely to be supported for a long time.