We tried matrix and element a little while back and it had too many sharp corners. Now we use jabber. It also have some problems but we were able to workaround them.
When we did our tests, messages would get dropped, arrive out of order, be impossible to decrypt, joining a room was slow (sometimes days), mobile notifications would be swallowed by the desktop client left running, webhook were hard...
I don't want to speculate too much as it is just a feeling, but it felt that the protocol itself had unfixable flaws.