I should explain what each are...
VNC uses a bitmap transfer to display the desktop. Usually, it transfers only the window you have focus on, but can be told to redraw the screen x times a second. On a dialup, the nearly only way to use this is by using 8 bit color at 640x480 with window focus transfer only. The higher you go, the much less performance you get. This protocol is the least efficent of all three, and will have the least response of them.
Windows Remote Desktop is a much faster protocol in that it transfers API (like giving coords of boxes, instead of sending pictures like VNC). It does have sufficent performance increases than all three on the same media. This on a 100 Mbit lan is almost indistuinguishable from the real computer you're setting at. It also maps the remote computer's drives locally, along with transferring sound. Windows to Windows, it's fairly impressive.
The third choice is if you're using a Unix/Linux network. You could use X to connect to each other's server. YOu'd have to use XDM to set up the connections, but you'd be able to log into any amount of machines that had XDMCP OK'ed for remote connectons and that put out broadcasts. This also uses a API commandset, so it's faster than VNC. However, you'd have to make scripts that auto-mount remote home directories to the local computer. It may be a longshot, but I believe aRts (in kde packages) can send sound input and output to a client. Like everything else, just takes a lil' scripting.