For updating, the way I update is to replace all files. No matter what method you use (there are plugins too like this – http://wordpress.org/plugins/easy-theme-and-plugin-upgrades/ to update easily), you will need to backup your changes and redo any changes you made to the files on the new installation.
Use tools like DiffMerge or WinMerge to compare the old and new files and redo the changes. You will spend probably an hour doing this but not more, specially if you have made changes only to a few select files. The theme settings data will stay and hence Custom CSS entered into theme options should be fine. It’s always a good idea to have a backup though.