Huh. I thought the whole "community" aspect w/ Java allowed for more non-Oracle input into the development of the language, whereas VB and C# were tightly controlled by MS. If you're cynical you could view Java as being tightly controlled by the triumvirate of IBM, Google and Oracle. I agree you can find a job doing .Net, but I'd still argue if you had to choose between the two (C# and Java) then Java is probably the better choice of the two (if only because it potentially opens up Android positions and there are many more Android positions than Windows Mobile).
If I were designing an undergraduate C.S. curriculum I'd want students exposed to Java, C, Python and SQL (arguably not really a "programming" language). C# would be a bonus. Probably also some functional language (Scheme, Lisp) just so they leave with a sense of what those languages are like. If I were designing a high school curriculum and had to choose a single language to teach, given the present realities of university curricula and industry adoption, I'd go with Java.