https://code.google.com/android/nexus/drivers.html
The binaries are there for the Nexus S 4G. It's all ready and waiting. Who are we waiting on? As JBQ said himself, we're waiting on our carriers because they are CDMA and Google isn't going to screw with CDMA files that are tied to Sprint and Verizon ONLY. That's their job to make it work, not Google's anymore. It's simply against the idea AOSP as the CDMA files aren't really "open source".
I get that people are pissed. I'm anxious too...but there's really only three options we can do here:
1. Root your phone and get ICS, stop relying on Sprint to give your phone updates.
2. Wait for the official update.
3. Leave Sprint, stay away from Verizon (as they're going to have the same issues) and hop on T-Mobile or AT&T and import a GSM Galaxy Nexus which will work fine on either of those carriers.
Google's put 4.0.4 out, it's now the official most-recent version of ICS. They've updated the T-Mo and EU Nexus S and the GSM Galaxy Nexus. Now we and our Verizon cousins will have to wait for our carriers to hurry up.
If you want to complain, go ahead. But just realize that this is now inevitable unless you root or switch carriers to a GSM carrier.
And no, the Sprint Galaxy Nexus is not exempt from this. It WILL happen again.
Honestly, I'm more pissed that the US still has CDMA as that's pretty much the bigger reason for this wait (bigger than the whole 4.0.3 fiasco).
EDIT: JBQ did state that 'sojus' would be added to the factory images list when the OTA is announced. 'sojus' is the factory image name of the Nexus S 4G. So it looks like we may get 4.0.4 anyway.