have you tried going through your insurance? some have free glass replacement, im not sure if this applies to the windshield only but it wouldnt hurt to try. worst thing that can happen is they tell you no. my 2nd step would be to go through a glass company, many nowdays will come to your work or home and do it there for you. probably cheaper than going to a dealer. again it wouldnt hurt to give the glass company a call and get a free estimate.
While it's not technically "free glass replacement" since you are paying for the overall insurance, every policy I have ever owned included full glass coverage, meaning that all windows were covered, with no deductible. I have not specifically had to deal with a sun roof issue, so I can't speak directly to that, but full coverage should be full coverage. A quote from the Allstate website seems to indicate that the sun roof is covered:
"If the only areas of damage to your vehicle are to glass components, such as the windshield, side windows, rear window, and sunroof, you have come to the right place with Allstate's Glass Claim Express®"
I once asked my Ins Co if multiple glass claims could increase my coverage. The answer was in most cases, No, although if it was determined that there was some sort of pattern, such as consistently parking in a "high risk to glass" areas or consistently driving in areas where rocks were chipping the windshield every other day, it could become an issue.