We do this regularly, from development & test to a variety of production servers.
We also schedule regular pushes of backups of this information onto a NAS for Backup, Reuse & DR purposes.
I would note that 'cherry picking' just jobs becomes difficult in practice because you often need other xml / objects to maintain the integrity of the job on the target server. i.e. you need to be thinking about variables, notifications, credentials, ftp connections, connections, certs, pgp etc not just jobs.
At this stage we do this via the client, rather than the API for the above reasons.
Also you need to consider and be consistent how you master information.
For example migrating users (so they have the same GUID everywhere, not creating them in each). This is commonly seen when you migrate a job created by a user that has been created again in another server rather than migrated <see attached screen print>
KJDavie attached the following image(s):