I ran through different case study's and found some way to regain the ranking of most sites.
Note: These are all from my own experience, so use at your own risk.
Step1: Goto Open Site Explorer and find the backlinks and click the anchor text tab to check, how many links are passing to each url via anchor text.
Step2: If possible remove the bad spammy links, if it is not possible move on to next step
Step3: This is new step, Try to remove the backlinks( either blog roll or blog post) from bad High PR pages with irrelevant content.
Step4: Make sure to check your backlink profile that, your most linked private blog network is deindexed or affected by the last update, if it is remove your links from those as well.
Step5:Create New healthy pages in your site with unique content on it.
Step6: Immediately change the title and description and meta keyword tags and reindex your site by submitting fresh sitemap or use ping services.
Step7: Create backlinks to the money site with brand name keywords "brand name of your site", "yourdomain.com", " your domain raw url" and get them indexed to diversity the backlinks.
Step8: Try to diversify as much as possible to lower the percentage of the money keyword linking in your backlink profile.
Ask any questions you might have, i will try to answer and help you.