Is there a way around having to re-do all that work on a new site?
In theory your database should hold most of the design elements inside it. You shouldn't need to redo things manually if you export the old one and reimport it properly. The other important file is your custom.css (remember to update urls inside this file if you added any). If all the images have been copied to the uploads folder and your plugin folder has the plugins reinstalled etc, you shouldn't have too many problems.
I highlight all the shoutbox files I have changed in a different color. that way its much easier to see which ones have been modified if I ever need to update. Same with the plugin files and core wordpress files, but usually those don't need changing.
Once your database starts to get big, importing and exporting with phpmyadmin may not work. You may have to find a new method (I use the mysql import in the Terminal on a Mac) or split it into sections. There is a great "plugin" which rebuilds the database properly after an import. It's called searchreplacedb2.php by Interconnectit. It saved my ass after moving my wordpress site to a new host.