I would say arranging tours in each city is the best way to go. You can cover ballestas islands and nazca lines in two days, then head to arequipa, visit santa catalina and the next day head to colca canyon, overnight in colca lodge is recommended, then puno and lake titicaca (two more days). then you can get to cusco by train or a turist bus (bed-style).
the only flight you will need is the one from cusco back to lima, that is about $74
i'll be glad to assist you with anything else
Julio
sales@incatrailreservations.com