It could be because the jet stream isn't where it would normally be (a guess). I imagine that schedules are designed to account for the effects of the expected winds aloft. Usually eastbound flights are faster.
http://aviationweather.gov/adds/winds/
A brief bit of research shows that typical schedule times for ORD-LAX are about 4h15m to 4h30m (a bit under 4h flight time) and LAX-ORD is typically scheduled for about 4h (3h10m - 3h50m actual flying time. Flightaware.com is a great place to check actual flight times (it confirms your story).