Warning: Upon further inspection, the first link Google returns is over 3 years old and isn't relevant any more. (The one at Gamespot)
Sony Support has the correct procedure.
It's really quite easy.
Obtain a 9.5 mm thick SATA laptop hard drive. The thickness is crucial. (That's what she said.)
Get an external drive formated to Fat32, preferably one larger than your PS3 drive.
Use the backup utility in the PS3 menu to back up all your data. (I believe this backs up your game saves, mp3s, videos and other non-protected content.) It took an hour for 25 GB of backup data.
Go to your trophies and select the option to sync with the server if you want to keep them.
Plug your removable drive into your PC. Go into newly created PS3 folder and create a folder called UPDATE (all caps.)
Download the latest PS3 software update file from Sony and put it in this folder.
Power your PS3 down and unplug it.
Pull the hard drive out of the little tray on the side of the PS3. (There's 1 screw)
Remove the 4 screws holding the drive in place. They require a precision bit and the ability to not strip them.
Install new drive, screw it back in and put drive back into PS3.
Plug controller into 1 usb port, your removable drive into the other.
power PS3 back on.
On the controller, press select and start at the same time when you get the "no OS installed" error.
Then once the PS3 is back up, finish the initial setup prompts, restore your data from the backup utility, resign into the PS3 online site and resync your trophy data.
Tada. Total time was about 4 hours of work, some of that was the learning curve from not knowing the right process, and me taking my time while multitasking a few other things.
It's easy, but you don't want to start the process late at night or right before church.
Final note: I'm not sure why, but I'm noticing some extreme drive usage. I had a 40 GB drive mostly full. I installed a 640 GB drive (registering as 590ish). The drive is showing as having 500 GB available. How the hell did 35 GB of data turn into 90 after a HD swap?