Steve, I spent yesterday changing that code from a step of one with delay of 20ms, to step of two with 40ms, to step of 5 with 100ms, to step of 10 with 200ms, and then back to step of three at delay of 60. I bumped up the delay to 200 at the end, to see if spacing that code farther from the Serial and software serial would help. The jitter problems happened at all of those steps and delays. Usually it would run fine for the first sweep or two (or three, or four), then would get partway through a sweep and stutter - stop in the middle of moving, jump about 15 degrees, seem to recover, with about half the time smoothing back out, and half the time doing a whole series of stutter stops like that, until finally smoothing back out again for a while. Seems fairly random as far as I can tell so far.
Vince - there's a servo2? I'll go digging for that and try it out. Is there some kind of tell-tale sign I could look for in debugging these things to decide if it's an interrupt issue? There were occasional checksum errors on the TFMini responses, though I didn't think they correlated with the stutters - maybe I wasn't watching closely enough. I thought about commenting out all of the Serial calls, but if it's software serial causing the problem I can't do that as easily - though I could as a test. But using another servo library might be performing the same test, the other way around. I'll give it a shot, thanks!
Ken