As above, taking out the sunroof is a massive pain with 1 person but quite easy with 2, as it's heavy and awkard. It's worth giving the sunroof headliner a clean too, mine came out like new with a bit of carpet cleaner.
My sunroof was leaking because one of the drain tubes coming out of the door was blocked - poked a stick up the end, and eventually loads of mud and crap and dirty water came out - been fine ever since. Be careful not to damage the rubber though.
The black seal doesn't need to be watertight, so long as all the drain holes are clear.