Disclaimer: covers only what it covers, do it at your own risk etc
Symptoms: water in driver foot-well.
Why it is bad: mold/mildew, all kinds of odors, corrosion, failure of electrical circuits, including ECU etc. To sum up: you see water in there, you gotta fix it PRONTO. Otherwise, it will stink bad, you wont be able to sell it to any1 with 1/4 of brain, you might require very expensive fixin' - from liners to carpets to ECU etc. $$$$$$$$
Why it happens: in cars with sun-roof, most likely reason is plugged sunroof drain. Before you diagnose for any other reason, follow this guide !
Design: roll the sunroof open. Get a smallish step-ladder/steady stool of sort etc. Stand on it and look at the innards of the sunroof opening, right into the front corners, driver side or passenger side. You will see a smallish hole, may be 1/2" in diameter with a larger squarish hole above it.
The smaller holes are supposed to drain water that seeps in when it rains (surprise: even in closed position, the sunroof glass does NOT seal water-tight !, water gets past it !). Should these get plugged, water will rise till she reaches the squarish holes (all you need is about 1/2" of water) and then it will enter the square holes and those, drum roll , open right into the roof liners ! At that point, water will pour into the cabin, into the general area of the drive-side foot well. It will pour out of most unexpected places - from dash side panel, from just above the pillar handle etc etc etc.
How it happens: over time, small debris accumulate in the drain hole. Especially tricky is when you park under blooming trees - amount of debris that falls onto your car is a LOT
How to test for it: with sunroof retracted, pour some water, carefully, using a kettle with spout etc, into the "bathtub" where the round holes are are. Water should immediately drain out there, through the round holes. Loud slurping sound is a good indicator the drains work fine.
The water you pour in there will exit the car from just behind the front wheels, it can be plainly seen/heard coming out.
If, instead, the water builds up and doesnt exit, stop pouring BEFORE you build up enough water to overflow into the square holes as it will then enter the roof liner and we dont want that. Likewise, if water exits, but just barely so, you need to clean the drain tubes.
How to fix it: what we are after is some kind of a 1/8" string/wire that is soft enough not to puncture/break the drain tube yet has strength to it so that we can push it down the drain tubes and force the debris out.
I used some insulated soft electrical wire. Using stiff steel wire is a bad idea.
Feed it into the tube, poking it in/out, may be turn/twist it around to work bad clogs. When you can feed 3-4 feet of the string in, you're good.
Take it out and re-run the water test. Celebrate