Here is what i have seen with what your describing,
I have a lot of hours into this kind of problem and what i found (last place i looked)
Is the wind shield seal above the fuses box will leak and get the fuses wet
if you pull the fuse box out from the firewall you will see where the back of the fuse panel has gotten wet and then all the connectors need to be clean and the ground here too,
I have seen it where the speedo jumps around like a bad speed sensor.
lights stop working, gages work and don't work.
The seal around the windshield does not fit the best I have seen drivers com in saying the inside of the windshield is wet.
So i pull the windshield and seal run a bead of clear silicone around it and along where the fire wall is seam to the cab and put the seal and windshield back in,,
Then i aways pull the fuses box and clean that up too because down the road the gages and lights act up.
Let me know if i can help more!