Could be the relay at the motor where it plugs in, the plug gets vibrations and dust I had that problem on my 1500hd a few years back, it's under the passenger side dash/glovebox, I "fixed" mine by blowing out the plug with compressed air and putting some dialectic grease on it. Before I did this my fan was intermittent and would not work on high, it's funny though, cuz back then I didn't realize the grease actually didn't help conduct electricity, it's meant as an insulator from dust and water, but it worked...