Most of the time just git or a deployment framework like Ansible. There's hardly anything I do manually these days. If I do it more than once its time to automate it
I usually use SFTP or FTPS. SFTP is the default if I don't need to worry about speed/cpu usage, but recently I've been having trouble with AT&T possibly limiting standard FTP connections for downloads (I only use FTP for bigger file transfers like movies), so I moved to FTPS for a couple things.
Thanks for all of the responses, some really interesting methods out there. I've found a workaround to my problem (I just do all of my coding on my Windows 7 VM and FTP works just fine), but keep the posts coming since I'm sure others are learning of new apps and protocols from this thread also.
Usually rsync over SSH for transfering quickly put together stuff and single files that I want hosted remotely, sshfs or gvfs SFTP mount if I want to edit some random .html file live, and git push/pull for proper website deployments.