I don't think the "considered harmful" says much to the current coder, but I do think throwing out from deep/loop state to a target is an ugly code method which leaves all kinds of problems behind in it's wake.
Early termination of loops, assumptions about the values present, locality of reference, mutated state.
If your problem is speed, I don't think it necessarily is actually more runtime efficient. If your problem is die early, then it loses information an assert() would preserve. If your problem is a dislike of if-elif-elif- then I think you argue more for a case: statement than a GOTO.
I used them enough in the past to suffer the consequences of debugging around them. I don't miss them, they haven't consciously been in my back pocket armory for some time. I'd rather find other ways to fall through/out-of code to a fixed point.