Squeeze the nipple (no pun intended) by the door hinge. Chances are the rubber drain lips are stuck together, and water can't drain out.
Then roll back the moon roof, pour water slowly to the drain hole (there is one on each side) and check that water is draining out through the nipple with full force. Test both sides.
If water doesn't drain out or is slowly draining, carefully stick a wire (bend the tip into a U as to not make a sharp point) into the nipple opening and try to clear the jam inside. Test the water drainage again.
If it's still blocked, stick the wire into the roof drain hole (do this last only), but be very careful not to disconnect the hose from the drain hole. I accidentally disconnected mine last night. I had to remove the hanging hand holder, slipped my fingers under the headliner, took out the blue hose, put a bent wire in the hose tightly, fed the other end of the wire through the drain hole, and pulled it out from the top to get the hose reconnected -- not fun because the there wasn't much space and I didn't want to ruin the headliner by pulling it down to hard. I should've cleaned the nipple first because it turned out the problem was there.
I sprayed the inside of the nipple with lube spray to keep the lips from sticking, and I cut out one lip to prevent it from sticking again.
I also had to remove the visors and drain them out; somehow they collected tons of water inside. There was water in the space behind the steering wheel airbag too. What a mess.
I'll be checking the drain nipples every time I clean the car from now on.