It should have been done this way to begin with. I consider it a bug that distributed requests were apparently hard-coded to use /select
Definitely not a bug.
you have to remember the context of how distributed search was added – prior to SolrCloud, you had to specify a "shards" param listing all of the cores you wanted to do a distributed search over, and the primary convinience mechanism for doing that was to register a handler like this...
<requestHandler name="/my_handler" class="solr.SearchHandler"/>
...so the choice to have "shards.qt" default to "/select" instead of the current qt was extremely important to make distributed search function correctly for most users for multiple reasons:
1) so that the shards param wouldn't cause infinite recursion
2) so that the "defaults" wouldn't be automatically inherited by the per-shard requests
But now is not then – the default behavior of shards.qt should change to make the most sense given the features and best practice currently available in Solr. SolrCloud solves #1, and IIUC useParams solves #2, so we can move forward.