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.
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.