The last time I had to clear immigration in ORD (from a CUN>ORD flight last June, landing around 4pm), it took me between 1.5-2 hours to clear (US citizen), and it took my friend (Indian passport) 3 hours. Needless to say some of us had fun planespotting in long term parking while we waited!
Granted there are many things that could have caused such a long wait that day (multiple planes landing, not many agents, etc), but at least can give you an idea of an extreme case.