Travelers who enter Peru through Bolivia tend to travel from Puno to Cusco (cusco to puno train or bus), while those who enter through Lima do the same trip in reverse, after first visiting Machu Picchu. There are several buses working the Cusco-Puno route, offering direct overnight trips and day trips with guided stops at sites of interest along the way.
You can purchase a direct ticket from well-known companies such as are comfortable, offering semi-reclinable (semi-cama) and reclinable (cama) seats, snacks and coffee. All of these buses leave Cusco or Puno in the evening and continue overnight. If you don’t mind missing the scenery, you save on a night’s lodging and make the trip pass much faster. Tickets on these buses cost more than those for local buses, but as trips are so long most travelers opt for the extra expense in hopes that the more comfortable seats make the trip bearable, and even restful.
related photo: cusco to puno bus tripadvisor