So far, it has been the most reliable way to connect. I've tried multiple VNC and RDP clients, and when dealing with "hidden behind a network" systems, Teamviewer works very well, with little to no overhead. Specially since they have an special client for RPi monitoring, which works fantastic in my opinion.
If you don't have the option to pay for those licenses (which I did for several months), and no direct SSH access is possible to the machines, you can setup a cloud gateway SSH server or a VPN network.
Which makes it great for remote support sessions, but I wouldn't use it for the same purposes as RDP.
Before you start setting up connections, it insists on you making an account, which also sucks.
The good news is that it's an easy install (they supply a .deb). Even better news is that uninstalling it is just as fast.
Not sure about Anydesk.
It's crippled without creating an account (fair enough I guess), also has the annoying feature of installing the AnyDesk server software like TeamViewer.
It does share the great feature with TeamViewer that it can be uninstalled quickly.