We usually use Uber or Gett, they reliable and cheap. But if you have internet connection problem try to call Taxi515 they usually have english speaking operators 8-495-655-15-99. I heard about LingoTAXI, you can try them as well +7 495 204 21 34.
I tend to alternate between Yandex and Uber depending on the time of day. With Uber you will be subject to surge prices more often than with Yandex, but I think that the base fare for Uber is always lower. Saying that, there are more Yandex cars on the road than Uber at the moment.