...Almost always, a goto statement indicates sloppy design on the part of the coder. I think I have only come across one instance in my professional life where a goto was actually not a bad option (maybe even the best, or least worst option). And I've been coding for around 30 years now. Also, there is a reason why coders almost instantly fell in love with the object-oriented paradigm. Almost overnight, it cleaned up a lot of code. Granted, it is not a perfect paradigm, but it does seem to work well in a surprising number of cases. Just sayin'.
Structured programming constructs already did the heavy lifting on the Curse of the Go-To, a decade before OO languages became generally available.
But yes, with exceptions available (handling error breakouts in otherwise clean logic) the last reason to use a go to died.