I just had similar problem and it was caused by the top seal at the corners of the winshield. It would drain down and cause a big water spot on my headliner on the top inside corner. Look at the esterior top seal in the corner, pry back the rubber, and look at the welded joint where the side post and roof meet. In my situation, it was not the sunroof drain. I bought permatex black and sealed the joint. Works fine. Also might want to check if you are getting a water spot in the passengers floorboard when it rains. Resealed air intake box for ac and stopped problem.