Is there an efficient way to recover un-synced Photo Stream images? I'm experiencing a vexing bug with Photo Stream (that at least some others seem to share), in which about 10% of the photos I take on my iOS devices just don't show up in the stream. I understand that I can manually import the missing photos (e.g. using Image Capture, Aperture or iPhoto) and then manually add them to my photo library, including to my Photo Stream (e.g., using Aperture). But this process is tedious and, of course, error prone: I need to periodically go through all the photos I've taken with each of my iOS devices and manually identify which photos haven't made it into the Photo Stream. 

Is there a way to force a re-upload of all photos in an iOS device's Camera Roll to Photo Stream? 

I've tried turning Photo Stream off and back on again on the affected iOS devices, but the missing photos remain missing.
Directly no.

You can go the indirect route. Get all the photos to a computer, clear the photo stream manually, then enroll the computer into Photo Stream to inject the photos back into the stream in whatever order you prefer.

At that point, you can re-attach the iOS devices to the stream.

You might want to poke at the iOS side (restore or otherwise isolate the issue as it might be a software or network issue there - I've tried to break photo stream with bad network connections - lots of photos taken when offline or switching network from WiFi to 3G and back while taking pictures and it seems pretty robust to me and unbreakable when the software is working properly)