DM if the problem is the cable then that is super easy to fix and not worth the exorbitant prices shops charge for this. The cable runs about 50 bucks and takes 3 minutes to install. The adjustment is a little trickier, but if you havent moved any settings you may not need it. And no, you dont need to remove the headliner to replace the cable, only need to remove the sunroof liner.
By the way, if the tube that holds the cable in place is damaged, off center, bent, etc. then you are up s***'s creek, that is a lot of labor time to fix.