I have a 2003 Honda Civic EX 4 cyl, 4 door with 147k miles. It has been overheating sporadically for about a year now, normally it starts to overheat when I stop to get gas from the highway (do a LOT of driving) or stop for food, etc. or in slow in-town driving after being on the highway.
I have had the thermostat replaced, the head gasket checked, the water pump replaced, timing belt replaced, radiator cap replaced, all seals replaced around the timing belt/water pump, and the fan switch replaced.
While on I-40 in about 90 degree weather hauling many personal items for a move, it started overheating again and wouldn’t run normally unless I blasted the heat and slowed down. It also heated up when I got in town, even with the heat blasting. I am at a total loss. Any ideas?
check your temp sensors
You need to check the radiator, cooling fans and coolant system pressure.
I know you replaced the fan switch, but did you check to be sure the fan is coming on? Also, make sure the switch was wired right. If it was wired backwards, the fan will spin the wrong way and suck hot engine air through the radiator. Then do what Waterboy said and look at the radiator. Are all the fins bashed in? Is it plugged with dirt and debris?
The next time it starts overheating, pull over and pop the hood immediately. Look for coolant spraying. Sometimes you’ll get a pinhole leak in a hose that you can’t find unless the system is hot and under pressure. You can inspect right now for signs of that - look for chalky white residue in the engine bay.
Your use of the heater as an auxiliary cooling method points to either the fan(s) not working or the rad being in some dysfunctional condition. These are also the two items that you haven’t confirmed in your post. You haven’t stated that the fans appear to work as intended nor has the rad being flushed/cleaned/replaced.
So, confirm that you are indeed seeing a “boil over” situation (loss of coolant) with the fans fully engaged …and that the rad has been cleaned/flushed.