What I find difficult to understand with this thread is 'What did the
SEO expert you used do to the site that you have ended up with duplicate content?'
This should all have been cleaned out when they did the work for you. It rather leaves me thinking that the
SEO you used was not quite the expert you thought they were.
If it were me, I would ask them to come back and finish the job - or send them the bill you get from using a real
SEO consultant to sort out the mess.
You can use the robots.txt file to disallow the bots from the duplicate content - only partially successful.
Additionally, use the robots meta tag - generic and bot specific - with the noindex,nocache option.
Using the rel=nofollow on links to the duplicate pages also helps.
By far the easier and more secure is to replace all the duplicate content with empty pages with links to the new content - I can see many reasons for this not being a practical option, based on earlier comments.