Team Viewer is good, but it requires someone at the keyboard on the host end to allow the connection at the moment the remote client tries to connect.
In Teamviewer installation click the advanced box and set the software not to require someone to accept the connection.
For me, this is not much help if I want to randomly access my home PC from work. I can't seem to train my dog to grant the connection for me.
VNC is ideal for me because it is a host server, and runs in the background. It does not require someone at the keyboard in order to connect on.
I have not used VNC in a few years but remembered it was very robust, secure and really fit the bill. Now that I discovered Windows 7 Home Prem does NOT have remote desktop server, I will be trying that tonight.