The best way to get to Ollantaitambo and all the sights of the Sacred Valley is by local bus. The ones to Pisac from Cusco are normal size ones and I believe it was around a dollar for the one hour trip. The ones between Pisac, Urubamba and Ollantaitambo are small mini buses. Prices vary but just look at what local pay and try and have exact change. You have to change in Urubamba for Ollantaitambo. You can return via Chincheros for a change of scenery.
It's best to walk around the villages as they are all quite small. The ruins are great places to hike and the Incas made climbing easy with stone staircases. This set shows their brilliant concept of building drains on the sides of the steps to keep them from flooding.
You can take the train to Aguas Calientes (Machu Picchu) from ollantaibambo or Cusco; We took it from ollantaytambo. The trains to aguas calientes are very expensive.
The cheapest option is to take the backpackerstrain. It leaves around 8 in the evening and you'll have to come back two days later in the early morning. So you have one full day to explore Machu Picchu.
This train costs 40 us$ there and back 20us$ each way. Still very expensive (but machu picchu was worth it)
The best way to travel around el Valle Sagrado is by combi. Combis are a kind of mini buses (see the picture). It is incredible cheap and if you don’t mind strong smells :-)) this is also a good way to be in contact with local people. Always leaving from Cusco there are two main routes arriving both at Urubamba: Cusco-Pisac-Urubamba and Cusco-Chinchero-Urubamba-Ollantaytambo. Combis leave Cusco from 5am till 7pm each 20 minutes. The combi stations in Cusco are a little chaotic, you have to buy the ticket before jumping on the car and to find the car . . . well, just follow the guy’s voices announcing the different destinations. Just to have an idea about time a trip Cusco-Urubamba takes about one hour forty minutes.
the train has various types of services for tourists.
one is called backpakers that is the cheapest, you get to seat with all the tourist in the not so confortable seats. the cost is around $15 usd from cuzco to ollantaytambo around s/50 soles.
check the prices on the website below ... note the price listed there is to machupichu from cuzco and it is in soles.
If you are peruvian take your passport so that you can pay the local price which is much cheaper about 1/3 less.
There are at least two options to reach Ollataytambo. By bus, with a tour group or by train on the way to Machu Picchu. There is a combo of a half day bus tour and instead of returning to Cusco, one can continue with the train to Machu Picchu.