As said, clean the 4 drains out first.
Then, open the sunroof and stick your head through or maybe lean over the roof from the outside and using a torch and a pokey thing like a pencil, examine in the area between the cassette and the underside of the roof skin, both front facing corners. There is a foam strip that goes weak and floppy , this foam strip sheds water that gets past the glass seal into the cassette tray and then down into the drain tubes. Mine was worn badly, it's supposed to be 10mm thick but mine was only 3mm or so at the point it touches the roof skin and water was getting past the worn parts and onto the roof liner and through the interior lamp.
Unfortunately the roof liner and cassette complete has to come out to replace that foam, fortunately it's not a difficult job just long winded and the foam strip was cheap enough.