その 3 つは御互いをエミュレートできる。
そんでもって伝統的マクロも模倣できる。
言語のユーザーにしてみればどれでもいいんだよ。
使い難いなら適当な皮をかぶせればいいんだから。

どれかひとつに決まらないのは、使い勝手なんかよりも、どれがプリミティブにふさわしいかという点で合意できないからだと思う。
(R6RS で syntax-case を採用したのは失敗という意見が多いけど。)
Scheme の仕様を議論するときに手頃感や実用性は後付けでいいの。
プログラマが手頃にしたい、実用的にしたいと思ったときにそれが出来る仕組があるってことが必要なんだよ。