We were in Lima , Cusco and Urubamba in April. For pre determined trips to the airport, meeting at the airport etc we used Taxidatum to book on line and were met reliably. It wasn't expensive and was very reliable.
http://taxidatum.com/
For more spontaneous trips we found the Easy Taxi app on our smartphone to be a godsend. It gave you location , registration number, driver's photo and price. All you had to have was a street address where you were,a desired destination, a smart phone and a signal. Worked perfectly in Cusco and Lima. Like Uber the driver had the location already if you have no spanish. We didn't need it in Urubamba. I plan to use it again next year in Ecuador.
Interestingly we were unable to download in Canada , as it said we had no Easy Taxi in that location. We added the app while in an airport in the US on another occassion and it worked fine.