My DH and I sailed NCL Crown in November 05 from Miami to Valparaiso and did the 3 day Machu Picchu trip. The whole cruise was great and the tour was the highlight. There were 90 passengers, a local guide, a ship's rep and a nurse in our party. We flew from Lima to Cusco and stayed 2 nights there before flying to Arica to rejoin the ship. The middle day was the Machu trip which was a full day. It was very tiring but unbelievably exhilarating and a place that I will remember for ever. I did suffer a bit with altitude sickness but the meds from the nurse relieved the symptoms quite effectively. The trip was about $1,000(£700) each but worth every penny as we travelled in comfort, had an excellent hotel and saw so much. If you get the chance – do it! I’m sure you won’t regret it.
I don't know of any cruises. Getting to Machu Picchu is a bit of an ordeal with a flight from Lima to Cuzco and then a three hour train ride each way to the ruins leaving from cuzco. If a cruise ship did such a tour it would probably require a two day/ one night stay in Lima and would most likely be a very expensive tour.
We're going there in about a week and chose to do it as a land visit to Peru. There are some fairly reasonable packages that include rt air from Miani and nine nights or so lodging in Lima & Cuzco. We were able to get a rate of about $900 p.p. staying at three star or better hotels and flying on Lan Peru.
I went overland to Machu Picchu in 1999 from Bolivia. I would recommend just flying to Lima, then taking bus to cuzco. Then the train from Cuzco to machu picchu (aguas calientes). The year I went the train was out, so had to walk the last 15 km, yes that is right about 10 miles. How about that for fun. Peru is fairly dangerous though. But I had no problems. So, basically, if you have cohonnes, I would fly to Lima, then bus to cuzco, there is also a helicopter to machupiccu (an old russian, largest helicopter in the world, I think). But my was was absolutely beautiful.