There is another advantage to using this as opposed to SQL Agent. You can regulate the number of packages that execute concurrently by setting the max_queue_readers value.
The following example would ensure that at the most, 3 packages can run simultaneously.
create queue
package_Queue
with status =on,
activation
( procedure_name = spExecQueuedPackages,
max_queue_readers = 3,
--Change this value to allow more or less packages to be executed on this queue simultaneously.
execute as 'dbo' );