I used to think that ES had enough liquidity to daytrade 1000+ contracts too, but that is only a half truth.
Beginners trading 1-10 contracts will realize almost immediate fills for the full order.
Trade more than 20 contracts and you start to notice that orders are getting broken up and you frequently might sit for 10 seconds or so with a partial fill before the rest of the order is filled.
Trade more than 100 contracts and the wait time for filling a complete order increases.
My trades are quite time sensitive, and I usually have no more than 10 seconds to get my order filled before the opportunity is gone, or the probability drops dramatically. Obviously taking 20-seconds to fill 100+ contracts doesn't fit with that. So I have no choice but to get the order through quicker, and the only way to do this is to accept more slippage.
At any random time, if you enter a 1,000 contract market order on ES, you'll give up at least 1/2 a point in slippage. If you enter it as a limit order one of two things will happen:
1) It sits there getting partial fills for the next 30 seconds.
2) The price moves against you giving you an immediate fill, and you're sitting on a 0.50 loss due to slippage.
So a more accurate response to the ES liquidity question would be,
"Sure you can trade 1,000+ contracts on ES, but slippage will start to affect your returns to a greater extent."