You could also place a relay across a solar panel. when the current exceeds a certain amount, short out a panel (or another panel). When it drops below some value un-short the panel.
Hop's idea, combined with an inductor, capacitor, and diode becomes a buck SMPS.