What happened to Sophie's curse?
The film glosses over the explanation with only a few hints, but it's explained properly in the original novel by Dianne Wynn-Jones (and its sequels). The Witch of the Waste's curse was only short-term, and wore off very early on. The reason Sophie didn't recover was because


   she herself had undiscovered magic talent, and was staying in the form of an old woman because she kept thinking of herself as such. She tended to revert whenever she wasn't thinking of herself that way - such as when she slept or when she was too focused on telling Madame Solomon off (and hence was thinking more of Howl).