I was playing around with a DC motor speed control this weekend and came up with a decent solution to the rather high spikes produced during the on-off switching transition. Using a PWM generated with a 555 timer and leveled-up and cleaned using a Schmitt Trigger chip (74HC14), I was driving a Fairchild FQP30N06L 60V N-channel MOSFET. Below is the Drain to Source waveform, and as you can see, I have 75V spikes, high input impedance mode.
I tried a few standard techniques to suppress the spike, but then thought to try one of the TVS diodes I sell, a SA12AG, which clips at about 14V. Below is the trace, with the Drain on channel 1 now and the trigger pulse on channel 2. As you can see with a 10V/div scale for channel 1, the transients are indeed clipping right at 14v, bringing the overshoot to a more reasonable level and the DC motor running a bit more smoothly at low speeds.