Let me sum up my issue with the moon scene:
It's shallow. There, that's the TL;DR
Sonic basically just says "revenge is bad actually" and to hold onto the love you had.
That's all it takes to convince Shadow to drop his revenge plans.
There's no wish to remember, no reminding Shadow of who he is or even asking what he really wants, just saying "you can be a good guy" works because this Shadow HAS no motivation.
If he was being manipulated by Gerald, he clearly didn't need much convincing. It just makes it look like he was eager to kill everyone even though he scolds Sonic for seeking revenge like him.
He literally has no justification; no rationalization for something he acknowledges is wrong. He knows he's doing bad and he has absolutely no excuse for himself.
Game Shadow thought he was carrying out Maria's final wish, that's what made it okay to him, here he just says he's in pain and agrees genocide, as well as self destruction, is the cure.
He doesn't have to be reminded of who he is, what he's here for, because there isn't a reason.
He has nothing, no wants, no character, outside of the pain of losing Maria. He is nothing more than a chess piece designed to cause the plot without any thought to the moves.
Even when getting reminded of Maria, personally responsible for inflicting the pain he feels on another person, he doubles down.
In SA2, the reminder pushed him to save Rouge.
It showed a clink in the armor, a little gap in the programming that doesn't exist in this movie. It showed he cared, which makes sense, he was doing all this BECAUSE he cared about Maria's wish. It's also why he acts so fast to fix it when he realizes he was wrong.
He doesn't hesitate, doesn't think for a moment about ruining all his work, he just fixes it to keep his promise to Maria. It speaks volumes about how much he valued her.
He was never truly a bad guy, he was just used by a grieving man.
This surface level approach of "just remember the love you had" doesn't work for a character like Shadow unless you strip him of everything.
This is what happens when you forget the nuance of Shadow's character and boil him down to "emo rival".