I think the important thing for a drill is, that you can configure each ball if it should be randomized or not.
So you can practice serve received and follow up. With a simple random function for all balls, this is not possible (because it is not sure, that ball one is a serve).
If the server is...