Team Viewer is a popular universal remote control application. It runs on IOS, Linux, Android, Windows, and Mac etc. It is great that this software is available for Linux, but I have also observed high CPU load when it comes to active Team Viewer sessions. The CPU load goes away when you disconnect. Part of the explanation for this could be that the CPU is used for all rendering and not the graphics card, which may be why it has a lower CPU usage in Windows and Mac. Unfortunately I have been unable to find an alternative that is a perfect match.
All suggestions that suggest that somehow VNC or its derivatives are somehow a substitute, are ill researched suggestions. Though you can remote control a desktop session using VNC it is not nearly as efficient as TeamViewer. NX and its derivatives are on equal par when it comes to performance, and there are even open source implementations that use RDP quire successfully. However, no other solution allows you to traverse firewalls and NAT with absolutely no configuration. Team Viewer works in the same way as Skype does in the sense that it simply auto discovers how to get to the internet and sign in, then locates all the associates to your account (computers in the case of Team Viewer). This is the main feature of Team Viewer and the main reason it has become so popular; and I am sad to see that there is no open source counterpart to team Viewer.
An open source implementation of Team Viewer would be a seriously useful tool in combination with Ubuntu One or something similar.
To mitigate the effects of high CPU use you can try to set a lower priority for the teamviewerd, and TeamViewer GUI processes. You may also be able to buy a license and then open a bug or case in regards to CPU load and see if they address the problem. Otherwise I think you are out of luck.