Madoka's character gets a big upgrade for me. After seeing Homura's past episode I understand what's going on with her better. Brutal though! Wow, she shot her friend in an instant to prevent her killing Homura, that's not normal
The path by which Sayaka becomes a witch, however, is a bit silly. At first, I thought the way she discovered the soul gem's true properties and the trauma of seeing a friend die by that point in the story made it semi-justified, but she basically just outright gave up upon discovering it which was pretty annoying. However, even in the flashbacks she's a witch, and I doubt the circumstances by which she finds that out (Madoka as a normal human stealing her gem and throwing it) happened that way.
Basically, she made a "selfless" and silly wish, regretted the consequences, and then didn't even make a truly passing attempt to work through them to pursue what she wanted. She could have. Even to the point where I am now, Sayaka still doesn't know the full extent having a soul gem affects the body long term, or that it leads to becoming a witch! She doesn't even ask about it! She just gives up on the person she loves because of her condition and turns evil, and rapidly too (these events are inside a week or two). I can sympathize with every other character, but in her case it's hard. I could maybe suspend disbelief and assume she came to realize their eventual fate somehow offscreen, but even then her path just doesn't make sense.
Homura is probably the best character overall. Part of that is just the way the show presents her, but the gradual change is impressive too. Reminds me of Higurashi a little.