The easiest way to get to Puno is by plane from Lima, Arequipa or Cusco to Juliaca. From there take a taxi to Puno for a 30 min ride. You can also take a night bus from lima for a 18 hours journey.

Paracas National Reserve
You can get to paracas national reserve by bus from Lima. It is approximately 4 hours drive.