You can do this using temporal distribution of 9000 minutes. (3000 machines / 20 per hour) * 60 minutes = 9000 minutes. Clients will chose a random time between the action start time and 9000 minutes later to start the action, which will result in 20 machines per hour on average.
However, if you have your relay infrastructure set up properly, it should be no problem to distribute that action to 3000 computers without any temporal distribution at all. You should be able to get the app installed on all 3000 machines in under an hour total.
Some of our customers will push similar sized packages to 200,000 machines and only use 0-120 minutes temporal distribution depending on how many other packages are scheduled for delivery at the same time.
Hehe… looks like Jesse beat me by 1 minute… Luckily we have the same answer, but Jesse correctly gave his answer in minutes, while mine was incorrectly in seconds.