A: The queuing of commands is by design, done to control the amount of concurrent remote command executions. However, you can change the concurrent limit by using the -ThrottleLimit parameter for Invoke-Command to increase it. Here's an example of how to use it:

Invoke-Command -ThrottleLimit 64 -ComputerName a,b,c -ScriptBlock {command}