We had this problem with my daughter's Toyota Camry. In each corner of the sun roof there are drains, which can get plugged up with debris, which causes the drain gutter of the sun roof to overflow into the inside of the car. Other self help sites recommended using a coat hanger to unplug it or use an air compresser. The wire couldn't get far enough, and we couldn't get a good seal for the air compressor to work. My husband used a tube from a drip irrigation system to clean out the drain. We were able to push the tube in about fifteen feet, if it seemed to get stuck, we'd blow on the tube. The irrigation tube was flexible enough to curve around the inside of the car, and yet stiff enough to take pushing. At the beginning he used a needle nose vise grip to push it into the drain hole. In order to check and see whether the drains work, we put water and food coloring into a squeeze bottle like dish soap comes in ( with a pop up dispenser top) This allows you to squirt the liquid into the gutter around the sunroof with out making it over flow. You then have your partner watch out side the car to see if the colored water comes out. You want to do this again after you've clean out the drain to make sure you've gotten all the debris out.
OK, I give up. My '99 Camry is soaking the front passenger floor every time it rains. But I can't locate the four sunroof drains. Did you have to remove any parts to see the drains? I know they are in there somewhere, but where??
I found the drains in the corners of the sunroof. Look for small holes against the front of the sun roof enclosure. Clearing them solved my two year old leaking problem. I used the stiff, mono filament line that is used for weed whackers to snake through the length of the drains and clear the dirt and debris that were blocking them. The water exits from below the car behind the front wheel well. Do like they say above and pour a glass of water in the sun roof enclosure to check your success.