The ship does it but its a company rate and poor.
For the UK you need sterling- pounds not Euros, cards are accepted everywhere, you do not need to carry too much cash, many places are contactless payment up to £30 if your card works on that.
You need Euros for Ireland only and France, Scotland is also £.
If travelling to Dover by London exchange there in banks or post offices or exchange places, - but not at airports or tourist locations. Post office and Thomas Cook are good on exchange rates, and some high street shops do exchange or even have ATMs that give £ and Euro.
You will waste money using
DCL like anything they make a profit on it and whilst there is no charge the rate is poor.
Dover also has currency exchange in the terminal. But as said relying on cards is fine, there accepted nearly everywhere, and just have a couple of cards if one stops for any reason. Also no need for USA$ unless small amounts to tip room service, but you can charge that, and the standard tips can debit your ship account.
Embarking and disembarking at Dover is different than other ports like Port Canaveral and so look at this for photos, video of Dover, it was a different trip to the Baltic but has a lot of UK transport information.
http://torussiawithmickeybars.blogspot.co.uk/