It really depends on what you want to do. Engineering at Berkeley (at least EECS) is in the top 3. It is arguably the best public in the U.S., but it still depends on what you want to do.
I would choose Cal over WashU, because I like Berkeley, engineering is extremely strong at Cal, and it has a environment that I like. I didn't really like St. Louis, but you might.
In general rankings don't mean much, as how well you fit matters more. I think you should look at the specific departments you are interested in, and compare them.
If you are doing engineering I would definitely recommend Cal though.