I don’t believe in the good royal, bad royal theory. People, whether public figures or private citizens, are judged by what they do. Thus many people intensely dislike Piers Morgan (as an example.) Usually people who don’t like him judge him by what he does, as indeed his fans judge him by what he does. He’s liked or disliked according to his actions. Most people, whether they like him or dislike him, do not know him and have never met him. I use him as an example only.
It’s the same with the royals. People form a judgment based on the behaviour of well known people. Sophie has shown herself to be supportive to the RF and appears very pleasant when she occasionally speaks. This is what she is judged on. She appears likeable, she supports the monarch, she keeps her council, and she learns from mistakes. That would appear to be why she is seen in a favourable light.