Finally decided to throw my two cents in the ring on this. I work with about a dozen other developers right now and I'd say that I am the only one out of them that is comfortable writing my own 'Job Control' code.
Experience definitely colors that picture. I haven't been using the product since Version 0 like some folks here, but did start back with 3.1 when there was no such thing as a Sequence job. You wanted something to 'sequence' your jobs you wrote it yourself. Uphill. Both ways. In the snow. Barefoot.
The others, who in spite of the fact they may have done this pushing three years, have always been on a flavor of 7.x and so have always had Sequence jobs in one form or another. For them, I've found that hand coded job control is never a 'Best Way' as they worry about having to maintain it, tweak it, etc. Sequencer jobs, however, they can crank out with their eyes closed - and sometimes I swear that's exactly what they do. [/joke]
The issue with Sequence jobs not being 'clean' is as much the skill of the designer as anything else, in my opinion. Especially with the latest 7.5.x enhancements. Build your Sequence jobs just like you would your other jobs - modularly. Restartable, maintainable modules. Sequence jobs are perfectly happy called 'sub-sequence' jobs down as many levels as you need. Let them handle their own errors now - no need for those giant 6.x spiderwebs to the Exception Handler any longer. Let it do it's own checkpoint restarting. Loop activity stages. Use Variables. Commands and Routines. Automatic generation of HTML documentation. Yada yada, etcetera etcetera. You'll find that 99.999% of the time, everything you 'need' is there and can be maintained by the other developers on staff and especially by those who follow.
That being said, we still use a
ton of Job Control to handle our many hundreds of nightly jobs, KBA code we adapted and modified extensively. Besides a 'better' form of restartability, the biggest thing it brings to the table that I like is 'load balancing', something you still can't do in the GUI. I can tell it to run these 90 jobs, with all their dependancies, and try and keep 12 of them running at any given time. One plate stops spinning and it puts another up to take its place.
However - I'm the only one touching it, enhancing it, supporting it. Not that others couldn't, but they do prefer that I do it for them. For now.
My .02...