return文は関数に一つだけ

http://www.developer0000.jp/2006/04/23/55/
「ブロックの最後まで飛ぶ」というgotoはありだと思うんですよね。break, continueや
try〜finallyは、まさにそれだし。(たまに、while(1){ ... if(conddition) break; ... } とかいうコードで無理にソレを実現してるコードもありますが、そういうコードが書きたくなるくらい必要な機能ということなのかもしれない)
上から下に逐次処理していく流れをぶち壊すという点がgotoの悪たる所以だと思うので、途中でreturnする分には別にいいと思います。