We fix rust holes like that every day. It would require a cut and patch as has already been stated. I presume you wouldn't replace the vinyl roof. The big problem will be the headliner. It will need to be removed and replaced. This would require removal of the windshield/backlite since the front and rear edge of the headliner is held by the windshield rubber. Some of these roofs have a pad glued to the inside. This easily catches fire, as would the headliner pad. I'd probably charge about $350 to do the repair plus whatever the new headliner, windshield rubber and related parts would be. Matching the paint will be difficult considering the age of the existing paint. A whole paint job would be between $1500 and $2000 for a base coat/clear coat non pearl paint.
Here's a pic of one we did:
http://i302.photobucket.com/albums/n...e/myengine.jpg
Good luck!
Harry