Sophie's curse reflects her inner emotional state: at the beginning, she is young but her soul is old because she sees herself as an old woman, eg, has no hope that anything good will happen for her, has no dream or aspiration, etc. This is why she told herself, "Your clothes finally suit you" when she became an old woman. Note that her first shift in attitude came when she had her table-smashing outburst - something that "old", repressed Sophie would never do. Her grey hair at the end of the movie indicates that the curse is still present but it doesn't hold any power over her, unless she lets it. The curse goes away when her attitude changes. Whenever she feels young, passionate or self-confident, the spell breaks. That's why she becomes young again when she's asleep, feels loved and when she loses herself in the beauty of nature... The whole point of her character is self-acceptance and inspiring the same thing in others. When she gets cursed, her appearance changes but she’s still a person that is old at heart. But although she ends up being just a housekeeper for Howl, she gains confidence because she is loved by Howl and his companions. They value her. So she starts to value herself.
But there is one thing that drops her from my list of "favorite female characters": When the Witch of the Waste caught fire because she grabbed Calcifer, Sophie poured water on her to save her. Calcifer had explicitly told her multiple times that his life and Howl’s life were connected in a way that if one of them died, the other would die, too. Given that information, she should have done everything in her power to keep Calcifer alive. After all, Howl and Calcifer were so kind to Sophie. The Witch had never done a single nice thing for them. Instead, she had repeatedly sabotaged them despite their kindness to her. ALSO, when the Witch grabbed Calcifer, her hands weren't getting burned at all (Sophie got burned when she touched the fire, but the Witch didn't).... So why the hell did Sophie feel the need to dump water on Calcifer?!! In that moment, Sophie gave up both Howl’s and Calcifer’s lives for the witch's life… She realized a few minutes later that she messed up and cried. Yes, I understand how movies always try to preach “always be nice to people no matter what”; however, "always helping others at great costs to yourself" is not a motto I would live by. Sophie would gain more respect from me if she could prioritize and think more rationally in stressful situations. It was by pure luck that Howl and Calcifer survived that catastrophe. If it wasn't, it would be the biggest mistake which she would live to regret.
But there is one thing that drops her from my list of "favorite female characters": When the Witch of the Waste caught fire because she grabbed Calcifer, Sophie poured water on her to save her. Calcifer had explicitly told her multiple times that his life and Howl’s life were connected in a way that if one of them died, the other would die, too. Given that information, she should have done everything in her power to keep Calcifer alive. After all, Howl and Calcifer were so kind to Sophie. The Witch had never done a single nice thing for them. Instead, she had repeatedly sabotaged them despite their kindness to her. ALSO, when the Witch grabbed Calcifer, her hands weren't getting burned at all (Sophie got burned when she touched the fire, but the Witch didn't).... So why the hell did Sophie feel the need to dump water on Calcifer?!! In that moment, Sophie gave up both Howl’s and Calcifer’s lives for the witch's life… She realized a few minutes later that she messed up and cried. Yes, I understand how movies always try to preach “always be nice to people no matter what”; however, "always helping others at great costs to yourself" is not a motto I would live by. Sophie would gain more respect from me if she could prioritize and think more rationally in stressful situations. It was by pure luck that Howl and Calcifer survived that catastrophe. If it wasn't, it would be the biggest mistake which she would live to regret.