Try greasing the rubber seal with a silicon grease (not sealant!). Do not use Vaseline, this will perish the rubber. I have fixed a couple of sunroof leaks this way. You will need to regease it about every 6 months.
Hope this helps.
AcmeUK
March 2009