You're asking for which is more powerful - is that really what you care about, or do you just want an interesting character? The number one rule of multiclassing is "never lose spellcasting levels." You've already pretty depowered the character as a Rog3/WW1 even with Magical Knack. I imagine none of the heavy CharOp folks have answered this question yet because your initial build has already provoked them into running about their residences screaming like enraged howler monkeys (rogue, 1 strike; losing spellcasting levels, 2 strikes). If you're looking for superpower, the train has left the station. But if you just want an interesting character to play, read on (though you really should specify what it is you want your character to be able to do/be like...)
In isolation there's a legitimate sorcerer vs witch debate, but if you're a third level rogue who has taken one level in witch, taking anything other than more witch is a severe power compromise - the "third strike." You're getting +2 CL in one class from Magical Knack and then if you were to switch, effectively taking -1 spellcasting level - pretty much losing as much as you're getting. So in this case, "definitely Witch."
As you move on, instead of Sorcerer I'd stick with White-haired Witch (seems like it synergizes well with rogue anyway), or go into Arcane Trickster after a couple levels in Witch - it'll keep full casting progression and is designed to highly synergize with rogue. But never lose a spellcasting level again. Look at it this way, if you were to switch to Sorcerer and be like "woot I want to throw spells", at level 10 you're barely going to be throwing fireballs when normal level 10 spellcasters are really melting faces.
There was a character in my last Pathfinder game who was a Rogue 2/Shadow Oracle 9, that worked out OK (he had a limited times a day super backstab ability and had oracle-boosted stealth stats) so it synergized with rogue well, plus invisibility and major image). So you can multiclass, and even use rogue, but definitely stay away from even more multiclassing. Pathfinder made specific design choices to back away from 3.5's "combination of 6 classes for optimization syndrome" and usually staying single-class is as strong if not stronger than a combo, and the more combo you put in generally the greater a disadvantage you'll have over your comrades.
Your GM is correct. Until you are higher level you are not able to cast higher level spells. The entire point of prestige class entry requirements is to gate entry to more experienced characters, and your interpretation basically reduces to just saying "an arcane spellcaster" which if that's what they meant, it's what they'd say. You need to actually be able to cast the spell, so you need appropriate level + high enough stat + correct class + not having swapped out your spellcasting ability for some other ability and so on.
Remember that this is supposed to represent some kind of in game qualification.
"Welcome to the Guild of Master Evokers! So you want to join, eh?"
"Yes!"
"OK, show us your stuff, cast something big - you know, a fireball or
whatever."
"Well, I can't now - but I have the ability to one day!"
"What does this look like, Hogwart's? Don't let the door hit you in
the ass on the way out."
In this context, "able to cast" and "ability to cast" mean the same thing. The designers' neglecting to use the exact same verbiage for every writeup is... pretty typical, actually, and not indicative of any deliberate nuance.
Also there seems to be a misunderstanding about a high stat possibly letting you cast higher level spells early - this is not the case. "In addition to having a high ability score, a spellcaster must be of a high enough class level to be able to cast spells of a given spell level." -d20PFSRD
Best Answer
No. Caster levels bonuses are different than actual levels in a class.
http://www.d20pfsrd.com/magic#TOC-Caster-Level