If the air that blows out is always warm , it sounds like you have an issue with the blower motor resistor . The resistor is located under the dash on the passenger side . There will be a plastic cover to remove and you will see the 12 gauge wiring plugged into it. The connection is likely to be corroded so plan on cleaning it . There is a replacement available ( Dorman or Rockauto ) if the corrosion is really bad. The resistor is removed with two screws . I suggest doing so and inspecting for corroded or broken coils . Bad resistors contribute to wiring harness of the blower motor curcuit problems so it is best to replace it if questionable.
Have you flushed the cooling system ? Good circulation of engine coolant ? Heater core back flushed as well ? Heater control valve working correctly ? Check all these items . Replace thermostat if it has been in engine for longer than you can remember . Two years is about the right time to change one in my experience. Hope this helps .
just an after thought : do an inspection of the blower motor switch and wiring to make certain of their condition . Sometimes switches tend to overheat due to excessive resistance in the blower motor wiring curcuit usually caused by the resistor and corrosion. Although running the blower motor on high speed for extended lengths of time isn't as stressful to the resistor as it would be on low speed , it does help carry higher amperage through the 12 gauge wiring which over time could cause wiring to overheat . Be mindful of this inspect for brittle wiring insulation and look for any burned through insulation .