I have cpanel on my account, I have created another user and use su_php like lunar does for their shared accounts.
This lets me play in sandbox mode on my live server, if I run a bad script that sucks up resource usage, my server stops it and prevents the user (thanks to su_php running apache/php as the user) from using to many resources so my site just takes a little bump in page creation times.
I usually then use my both ftp accounts and with tab views I drag files from one tab to another (I think this is a transmit [for mac os x] only feature though) and it quickly downloads and uploads the files. Though on really big scripts I have done, I used the root account via ssh to move and change permissions on all files very fast.
Though I would suggest as well for a real nice sandbox mode to set up on your computer manually (this takes time to get it right) that emulates your live version setup. This way all tests can be done right on your computer, and its easier than always uploading file changes

I went so far on this as to emulate the cpanel setup with /home directories linked up properly.