I've never run across a way to manipulate the actual launch sequence that I've found acceptable, so I just let OS X have its way.
Writing an applescript is probably the easiest...
tell app "textedit" to launch
delay 2
tell app "safari" to launch
delay 2
tell app "terminal" to launch
etc., etc. [and don't forget to remove
those same entries from the Login Items list, when adding the applescript.]
It gets more complicated when PrefPanes contain internal apps, but it's still possible i believe. Not sure that qualifies for 'acceptable', but it's not too daunting.