This is typically caused by a defective resistor bank, which sits in the HVAC plenum under the dash on the passenger side. The blower motor is a DC motor, and the way they get it to slow down is to put some resistors in series with the motor. High speed, the full voltage goes to the blower. Slower speed, put the resistor in the line. Since these resistors get hot, the typically mount them inside the plenum right by the blower motor, so the air from the blower motor cools the resistors. Look for the blower motor, and then look for a set of wires and plug that connect to a coupling on the plenum. You should be able to unbolt the resistor out of the plenum. If you have a ohmmeter, you can measure the resistors and may even be able to see where the wire is burnt.
This could also be the switch itself, but is usually is the resistor bank.