When I removed my headliner, I could see why it was leaking so badly.
Each sunroof has a a nipple for connection of a drain hose in each of the front corners of the gutters (or as Will calls them buckets).
1 of the nipples on each of my 2 sunroofs were broken, allowing pretty much everything that got past the sunroof seal into the truck.
Once I got the 2 new buckets from Will and installed them (I also needed to re-caulk the corner pieces having the nipple), I tested both sunroofs for proper drainage.
What I found was that the drain tubes were not really clogged, but they all had some degree of droop in them before going down thier respective pillars. This droop was acting as a water trap (like a sink drain), and it was taking a lot of water pressure from the gutter filling up, to push the water past the trap and down the pillar. Now once this happened, the gravity pulling the water down the tube created a suction and pulled the rest of the water from the gutter (like a toilet flushing).
The point I'm trying to make with this long explanation is that it was taking the gutter to fill up to a certain point in order to get it to drain (and then the cycle would repeat). In a level driveway, this would happen (most of the time) before the gutter filled up far enough to over flow (as I remember, it would begin spilling out the mounting holes for the sunroof motors first), but the real problem was when driving, it didn't take the gutter filling up very much before it sloshed out and into the truck while driving around a corner.
I re-routed the rear hoses and tightened all of the hoses by cutting off some of the excess length.
I was then able to pour water directly into each gutter and the water drained immediately.
Removing the headliner is really not that bad a job. You will want a second set of hands to make the handling of it easier though.
Hope this helps.
Peace