I agree with the above posts.
I repaired the sunroof drains and replaced the carpet in mine, and managed to disturb the plug on mine......
The sunroof drain wasn't my problem however, it was filth and mud under the windscreen trims and scuttle trims that were diverting rainwater over and above some welded body seems, that then drip directly onto the control unit you describe.
Take it out, dry it out, and clean the hell out of everything.
Think of it it as preventive maintenance