where is the rust? on the actual roof or on the sunroof runners?
if its the sunroof runners etc, just replace them.
you can replace the roof skin but its a big job and probably not worth doing as its very hard to blend it back in, and disguise the fact that its been changed., and if its not done properly it will write the car off.
expensive too