I personally feel that UltraVNC is the best support tool for Windows boxes, especially since the end user can see what you're doing as you're doing it. Very good for training purposes as well.
RDP is neat, but I find it very frusting to use, unless on high-bandwidth or bandwidth stable machines. Port forwarding can also be a pain if the routing hardware is not great at the end users endpoint. You also need to worry about user permissions and enabling RDP as well, which if you need to do in 3rd person, can be tricky.
UltraVNC (like the other VNC clients) has a cool "Listening Host" which allows you to still VNC into a VNC server if the server's endpoint is not a direct connection to the net. This can be very useful. I've worked in the financial services sector, and we use VNC in this capacity and have never had any issue both installing it enmasse and have never had a security breach.
SSH is also an option, and with OpenSSH you can use it on windows (using cygwin) but this isn't always suitable.
In the end, I think VNC is possibly your best bet.