you sure its the sunroof ? has yours got the aerial at the front of the sunroof, they have a rubber seal under the aerial which perish's letting water underneath it or if its not that it could be the sunroof drains blocked, you have 2 drains in the front corners of the sunroof, open the sunroof & pour some water in the channels, you should see it come out somewhere near the front wings at the bottom.