first question is this: what kind of injury? that will dictate a lot.
The best kind of cross-training you can do is anything that's pain free and doesn't aggravate the injury. A femur stress fracture is going to be quite a bit different than plantar fasciitis, for instance.
There's two components here: running specificity and cardiovascular maintenance. The ski erg, for instance, does a great job of keeping your cardio in tact, but does NOTHING to help with running specificity. Same with swimming.
Deep water running/aquajogging is about as run specific as you can get, but I've always had issues keeping my HR up in there.
If you are a mountain/trail runner, then step mill is probably the best. If you are a road athlete, step mill probably not helpful at all.
If you can stay weight bearing, then do that so your muscles/bones can still get a bit of impact (makes the return easier). Hence why elliptical would be better than a spin bike,
Assuming no limitations and all are pain free, I'd do a combo of elliptical, step mill, and aqua jogging.