VNC hasn’t always been that good though. There was a time when I’d routinely use X forwarding via SSH because my (then) girlfriends internet connection wasn’t fast enough to run VNC smoothly.
different implementations of vnc support different compression algorithms and for some reason vnc always defaults to the worst (most compatible?!?) ones.
You can achieve a lot by tweaking the client and server settings.
The results were good enought for me to support customer with ISDN internet between 2001-2006.