I'm flying in March on United coming in from Milan, Italy. I arrive at 2:15 pm and have to connect to a flight to St. Louis leaving at 4:00 pm, operated by Express Jet. We are US citizens. What are the chances this will end well? I really do not want to spend the night in Newark and incur the extra stress and cost. However, the next flight to STL is at 8:00 pm which makes for a miserably long day. Any insight very much appreciated!
My prediction is that you won't have a problem. Newark has three terminals, all connected by a monorail system that runs pretty reliably. In early afternoon, immigration and customs lines won't be at their peak. My estimate is that it will take you no more than half an hour to get through the immigration checkpoint and collect your bags.
Once you've got your bags, you'll be at the domestic terminal in 10 minutes. That gives you an hour to check your bags again and get through security.
If this is a weekday, I'd say you're guaranteed to make your flight. If you're flying on a Friday or Sunday things might be tighter, but that still seems like an adequate layover.