I think Moira is my first pick in most situations at this point. My top 2 were previously Mercy and D.Va, and Moira feels like a combination of the two in a lot of ways.
Moira is bad at: rapidly returning to a fight after dying, healing allies in hard-to-reach places, and burst healing a target, which requires a brain adjustment vs Mercy.
Moira’s heal has a heal-over-time effect after you turn it off, so you don’t actually want to heal people to full with the beam unless you’re dealing with sustained fire. Just sort of wash it over them to top them off. This naturally creates a heal->identify soft target and finish them off-> heal cycle.
Don’t follow enemies into bad situations - send your orb into that building. Don’t try to follow your allies into hard-to-reach situations. In fact, if your party has a sniper and a Pharah and no other healer, you might not want to choose Moira.
The dash is primarily helpful for two things - crossing sniper kill zones to reach your allies, and dodging ultimates. It will, however, not get you out of a Junkrat trap. That sucks.
Moira’s range on her dps beam is pretty far, and she doesn’t ever run out of ammunition. If someone isn’t hurt right now, or isn’t hurt enough that you need to heal right now, \you’re not full on energy, and there is an enemy visible, you should be firing.