We did a land vacation to Machu Picchu in June and July. I highly recommend doing Peru as a land vacation. The elevation in Cusco is quite high. The bus ride is much higher as you go over the mountain on your way to the train station. It is advised that you get accostomed to the altitude before doing any strenuous activity. I think it is smart to spend a couple of days in Cusco prior to exploring Machu Picchu. (Be sure to take the altitude sickness medication as prescribed by your doctor.)
There are really good land packages available that include
Lima, Cusco, & Machu Picchu. Our tour was nine nights and included RT
air from Miami, three star hotels for nine nights, and a couple of tours including the Machu Picchu train day trip. We spent less than $1000 P.P. for this trip.
Cruise ship tours to Machu Picchu are expensive and quite rushed. If it were me, I'd make Peru another trip by land.