Because of onion routing, doesn't the sender decide every hop?
The sender has to encrypt the payload with the public key of every node in the route
Again, depends on his peers routes. A router could not decide manually exactly the route. The protocol decide.
Here is a very good presentation by Rene Pickhardt talking about path finding
reply