What is the correct workflow for updating a high traffic site?
Drush and command line are for rescue here:

1) To clear cache selectivelly, just run drush cc and drush will provide you with different options to select from, so you can clear everything or just theme registry, js/css, views, pages, etc.

2) To regenerate script use this bash script: http://dropbucket.org/node/241. It reads your sitemap.xml and revisits all pages, warming up cache.

3) Additionally, consider using Drush Entity Cache Loader http://drupal.org/project/drush_ecl, it doesn't generate page cache for you, but warms up content cache, so when authorized user loads the page, nodes and other entities are loaded from cache instead of being generated on the fly.