Well, that's many questions in one post, so let's discuss that one by one ...
1) OLTP RDBMS with 2000 concurrent users, 200 transactions per second on 5TB of data
It's really difficult to judge without more detailed info. I've seen such workloads on a single PostgreSQL machine - grab a machine with plenty of cores, say, a 32-core (64 with HT) R820 from Dell, stuff it with RAM, spinners for WAL and SSD for data, and you're done. It depends on what a "transaction" is actually doing, but let's ignore that. Actually you'll need this 3x for two standby machines, and a place for the storing WAL. You can use one standby for failover, the other one for long reporting queries, etc.
The 24x7x354 part is tricky - you can't do that with plain PostgreSQL, as even a hot standby means a short outage / reconnect during the outage. So you'll have to engineer the application accordingly - in case the master is gone, search for the new master and reconnect. Not a big deal, IMHO, but I don't want this to look like I'm playing down this deficiency.
If you want something more automatic, look at pgpool-II, or maybe Postgres-R and Postgres-XC. pgpool-II runs on top of PostgreSQL, the other two are forks.
2) COTS
Well, this may be true, although a COTS software that already supports multiple databases is usually simple to port to PostgreSQL. The problem here is that this is a circle - the company developing the software doesn't see any demand because the companies are not requesting PostgreSQL support. But this is changing.
Hints are a topic that appears frequently in discussions like this. I personally am grateful there's no such thing. However once you're stuck with Hibernate, you're hosed anyway.
3) Complex things ...
Well Oracle certainly gives you a way of doing complex things in a very complex way - no doubt about that. It's true that PostgreSQL doesn't have all the features built-in, however many can be implemented using third-party tools (e.g. pgpool-II, already mentioned) in a reasonably simple way.
4) Oracle people are the easiest to buy ...
I've had OCP in the application development (not sure if it's still valid), I know developers who went through the same tests etc. Frankly, it's not worth the paper the certificate is printed on. All it gives you is a proof the developer memorized some freaky procedure names and went through a test. It gives you exactly no idea if the developer is able to design a reasonable schema. It's way easier to just hire good developers and give them guidance and a few weeks to learn ...
And there are many (competing) companies providing PostgreSQL support, not a single corporate entity controlling the whole support chain.
Another thing is that sooner or later you're going to run into an issue that your experts don't know. With Oracle you have no access to the actual developers, so they can't answer your questions, you can't show them suspected bugs etc. I've had quite good experience with the web forums at oracle.com, but once you have to contact the actual support, it's pure bureaucratic madness.
5) I haven't noticed any en mass migration ...
Sadly many of these migrations are covered by strict NDA :-( The reasons for that vary. Some companies don't publish details of the platform at all (they've been running on Oracle without announcing that, and they won't announce the switch to PostgreSQL), other companies still need some level of support from Oracle (and this might significantly influence the relations + pricing). So the fact that you haven't heard about the migrations is not a surprise.
6) Finally ...
All that said, although I'm not unbiased (as I'm participating in the PostgreSQL development), I'm far from saying "PostgreSQL is the answer to everything." There will always be cases where sticking with Oracle is the right choice - either it's cheaper, there's a feature you can't live without or something else.