A MOSFET and freewheel diode is commonly used. With the few I have done, I used a current mode SMPS IC like UC3843 so that increasing solenoid resistance with temperature has little effect on current. With current mode, subharmonic oscillation can be a problem, not in my case because the supply was always 28V driving 12V solenoids, so duty-cycle never exceeded 50%.