When picking Moira you kind of need to decide what your role is going to be based on the rest of your team.
Since she has that close range healing you can only really do a ton of healing when your group is together in a “deathball” positioned behind something like a Reinhardt or Orisa, or in close quarters like a hallway so you can bounce healing orbs around. In these situations she’s an amazing healer.
I would say don’t pick Moira to be a main heal if you are working with a lot of flankers on your team, if the enemy team has a D:Va (cause defense matrix is pretty crippling) or if you have a Pharah on your team and no one else to heal her.
If you’re going off-heal Moira she can do amazing damage from the backline. You can run up to a group of people, drop a purple orb on them and use her phase thing to dash back to safety really easily. Also, she is lethal indoors. If you send a purple orb bouncing around a corridor while right clicking, you can rip apart most non tanks. You can also use ricochets to send damage orbs down a choke while not even in the enemy’s line of sight.
Moira is one of my favourite characters to play because you can play a match as a Moira who heals a ton if needed, or play as like a third dps in a pinch if you have a good Mercy or Ana on your team.