You will not save power if your workset is fixed. If we make the GUI slower, this won't save anything, since the GUI would run a longer time at 100% CPU load than before. The only way to safe power is by limiting what work has to be done, and this is generally a good thing, regardless if we speak about power saving or not.
So, again: Playing with the cpufreq scaling, on our hardware, does exactly the same thing as inserting random usleep()s into the code. Exactly.