I've recently inherited a company site that's been around for a few years and has been through a few redesigns. In doing a website audit and also utilizing google's webmaster tools, I've found a ton of external links back to the site that are returning 404 errors. My question is: Do I go through the list and manually setup redirects to the new location or do I leave them go to the 404 page? It seems to me that I should set up redirects, but am wondering how this will affect SEO and search engine rankings. Is setting up redirects the best way to handle this?
If an old URL corresponds one-for-one with a new URL, then yes put in a redirect. Otherwise leave it at 404 but make sure your humans get a nice 404 page that gives appropriate information and matches the overall look of the site.
The subject line made it sound as if the alternative was a global redirect to the root. This is not a good idea, so I'm glad you are not contemplating it :)
Updating external links is always good, though it may not always be possible. If the linking sites are actively maintained, then someone at their end checks periodically to ensure that outgoing links remain valid. Uh... don't they? Worst case: linking sites discover the 404, don't have the resources to investigate individually, so they simply remove the link. If they are desirable links you obviously want to avoid that.
Do make sure that all site-internal links are correct.
Is this one of those CMS issues where they periodically change their software, leading to new URLs for pages that already exist? If so, you may be able to find an addon that redirects old format to new format. And even if you can't, there may be patterns you can pick up to convert from old-style URL to new style without having to code each one individually.