Sunroofs are a nice addition to any car because they give you the choice of letting the sunshine in and keeping the rain out. The downside is, the sunroof might leak at some point. At that point, you can either pay for someone to repair it or do the job yourself. If you have a Subaru with a leaky sunroof, you can repair the problem yourself in an afternoon.
Unscrew the bolts attached to the top of your Subaru, lift the sunroof off and safely set it aside if your sunroof operates manually. If your sunroof operates electrically, wipe the top to remove grit and grime, then simply open it wide.
Use a soft cloth soaked with water to remove all the leaves, dust and debris from the trough on which the sunroof rests when it is closed. Do the same thing to the seal on the underside of the sunroof. If your Subaru's sunroof is electric, use the air compressor to clear the portion of the seal in the back.
Inspect the seal to determine if there are any cracks. If there are cracks in the seal, you can attempt to fix them with liquid caulk. But you'll probably need to replace the seal to guarantee no more leaking.
Check the drainage tube because it might be clogged. These tubes allow rain to flow away from the cabin and onto the street. Using a thin wire, penetrate the tube by several inches to make sure it's not clogged. If you find a clog, gently scrape the inside of the tube to get rid of it. You can also use the air compressor on the inside of the tube, but be very careful because it could rupture.