routesが別になってるのって、メソッドの指定とか自動設定じゃ難しそうな奴に対応するために仕方ないんじゃね。
自動設定だと、GETとPOSTを一緒くたに受け取る、とかになっちゃうし。

それに、コードを書くタイミングだと、アクション側からどう受け取るか書けたほうが楽だけど、
保守って観点でみると、routesだけ見ればURL全部把握できるし、予期しない入り口とかができなくてすむ。
コントローラーって別にURLから呼び出される公開メソッドしか定義しないものでもないし。

(個人的には)記述方法も複雑じゃなく読みやすく、良い感じのバランスじゃないかなぁ。
routesファイルがURL設計書の代わりみたいな感じ。