MyTurboDiesel has the write-up on replacing the headliner. I followed the instructions and replaced mine. Did the job over two days, took about 4 hours to get the headliner out (removed both front seats and center console), and about 6 hours to put it all back together.
A few notes:
When removing the seats, if you have power seats (and even with the manual seats), make sure to move the seat into the center of the tracks after removing the mounting bolts and before disconnecting the power.
This is for when you remove the seats from the car, the tracks are not sticking out from the seats, makes it less likely to scratch the interior panels when pulling the seats through the door.
Lower the steering wheel to its lowest setting will make removing the headliner a little easier, and do cover the wheel with a towel, you will hit the wheel with the headliner.
If you have a rain sensor on the front windshield, there is a plastic cover above the rearview mirror, make sure you unclip that cover before removing the headliner, so it does not crack (like mine did).
I removed the headliner from the front drivers door, and installed it from the front passenger door. the write-up does not say which door to remove it from. Using the back door may be a better bet.
When I removed the headliner, I did man-handle it to get it out, knowing that it was going in the trash. You will reuse the ribbon cable that is taped to the headliner, and some of the styrofoam spacers, so don't beat up on it too much.
You may need a few of those special nuts that hold in the sunvisors and grab handles. I ordered 14 of them in case I needed to replace them all, and only used 1.
The headliner comes in a large box, so a truck, van, SUV or roof rack is needed to get it home. Prices are not too bad for the headliner, I think retail is about $325. My dealer quoted about $800 total for the job.
Side note, my daughters 2002 Beetle has a stained, and drooping headliner, after replacing mine, I thought about replacing hers, retail for a Beetle headliner is like $600!