Yes, glxgears uses a high percentage of the CPU (on my machine, it's actually closer to 70%). But the reason for that is, after all, that it's spinning in a very tight loop, all the time, just calling GL functions (and not many of them at that... the gears are, after all, quite simple).
If you sync to vblank, you may reduce CPU load, though I don't know for sure if the drivers still implement the syncing with a busy-wait (they might). If they don't, then your load will definitely drop.
And in terms of GL games, well, the same thing is going on. The game is performing how many calculations per frame? And how many frames per second? That's where your high usage is coming from.