I recall some discussion that the walk-through-every-registered-hook-provider to resolve the handler is a pretty slowish/crufty way to handle that part of the request processing. Especially if everyone sets up the handler up-front in the various request preprocessing phases.
The problem with leaving it to be 'snatched' in the handler is that nobody knows this will happen when the evaluate a 'preprocessed' req_rec. And, it's slow. So perhaps it's time to deprecate req_rec::handler in favor of a handler_fn or some other sort of hash, and make the handler phase 1:1 on the request? Bill