Just expanding on Alan's remarks, the Nuevo Sol replaced the Inti, which replaced the original Sol, both of which suffered crippling rates of inflation. Just to give you an idea of how bad it was, the Inti reached 5,000% inflation in the late '80s. So, given that kind of recent history, it's no surprise, even now with the relative stability of the Nuevo Sol, that people often prefer US dollars.
As it's also the world's reserve currency, the dollar is also one of the best way to to keep hard-earned money safe in countries that have historically suffered from inflation, bad governance and a lack of trust in their institutions. Even in the past year or so, you can argue that holding dollars has been better than Soles, as the exchange rate has gone from 2.8 Soles to the dollar to almost 3.4. That's almost a 25% increase. So for example, if you changed 1,000 soles into dollars lat year around September, then those same dollars will now buy you nearly 1,250 soles.
For everyday purchases, you're best using Soles, as everyone says. If you use dollars in shops, you'll be paying the shops' exchange rates, which are usually terrible (in effect, you're paying to change money twice, through a low exchange rate, once from Sterling to dollars and once again from dollars to Soles) I also wouldn't recommend bringing Sterling. It's not as easy to change over here as dollars and you won't get very good rates.
As Adrian and Mick said, it's better to get a good debit card and take out Soles from a cash machine as and when needed, as you don't want to walk around with thousands of pounds on you, or you can also make purchases with a credit card that doesn't charge for overseas usage. The rates your bank charges will usually be more competitive than what you can find in Peru.
To avoid fees, do as Mick says and look for a credit card that doesn't charge for overseas usage, such as Halifax. The Post Office also has one.http://www.postoffice.co.uk/credit-card
Best debit card with no fees is:http://www.nandp.co.uk/current-account/