Você diz que goto é desestruturado e que break com um rótulo oferece uma alternativa melhor. Mas, convenhamos, usar break com um rótulo, que pode resultar na remoção de muitas linhas de código e níveis de aninhamento por break, também não desestrutura o código?
Resposta: Uma resposta rápida seria: sim! No entanto, nos casos em que uma mudança drástica no fluxo do programa é necessária, usar break com um rótulo ainda mantém alguma estrutura. A instrução goto não tem nenhuma!