A 3 step, or more, relay system wouldn't be too hard. I made a home-brew 3 step relay controller for one of my RC cars once when I blew out my PWM controller on a 15 turn motor accidentally. I used it for a few weeks while I waited for my replacement PWM controller to come in and it worked pretty well, but you're right, since all the unused power gets converted into heat, it's pretty inefficient compared to a PWM controller.
__________________
|