If you don't have a factory-installed one, you're better off going directly to a sunroof installer and negotiating with them. The dealer doesn't actually do the sunroof install (most don't anyway) so why pay them their markup? Just ask the dealer who they use to do their sunroof installs. You'll have to go to the installer for service anyway.
SLS