I have been experimenting with Element for some time. I made accounts for myself and family members on the German host privacytools.io. (I since learned Debian operates two distinct homeservers, on social.debian.org, but cannot tell which is for what.)
The UX is pretty good, but certain oddities stand out.
1. When visiting rooms, it spends a very great amount of time displaying a spinner instead of postings. It displays a banner offering to scroll back to the last read posting, but forgets that you have already seen later ones. It often displays a banner indicating some bot is operating, but no indication what it is for, or any way to control it or find out more.
2. Messages in the scrollback for private rooms are very often replaced with a note, "cannot get key"; and sometimes appear again, much later.
3. Element advertises an ability to conduct audio and video calls, but I have not succeeded in getting the other end to ring, in recent months.
4. There are supposed to be gateways available to direct Signal and SMS traffic to/from one's Matrix client, but I did not succeed in getting them to work--probably just because their documentation was wholly inadequate.
I spent quite a few months on a subscription to Purism's LibremOne homeserver, but abandoned it when it became clear they had no intention ever to maintain it.
I have not been able to determine whether 1, 2, or 3 above are the fault of my homeserver, or matrix.org, or the protocol.
A Matrix client should be able to work in multiple accounts / homeservers at once, as is done with e-mail clients, but I don't know of any that can.
It seems like it should be possible to run a homeserver on local equipment, tunneling to ports on a cheap VPS, but I have not found anything suggesting how.
Enlightenment on any of the above welcome.