Does it work in sports in the U.S.? Not at all! People still join the teams that can offer to pay the best. And even still, it is not comparable to F1. Like mentioned, the engineering staffs are pretty equal, as they are more forced to work within the budgets. Sad the rules do not allow the lower budgets to "play" more with various ways of trying to take risks, but F1 is still the most equal it has really been.
But going back to stick and ball sports with salary caps. They are intended to cap the biggest costs of the teams; salaries of players. Unlike in racing where the development is where the enormous costs lie. While salaries are one of the biggest costs of the development, they are not what separates Mercedes from Marussia.
Maybe if you are able to do what stick and ball sports do and cap roster numbers, if might equal it out even more. Cap the staffs to "x" number. Some teams have huge engineering staffs, numbering in the dozens, if not hundreds. Whereas some teams work with a handful of people. That is where a cap would be more effective.
Would cut costs of F1, but ultimately what is the point? Still have 4-5 teams that are extremely competitive. 3-4 that can challenge for wins, or at the very least podiums on a weekly basis. Not since the 70's can that be said in F1. Are we trying to attract more teams? Because that is not due to costs, as more the FIA/FOM regulations restricting the process of setting up a Grand Prix team. Which are set up to make the sport more equal. Create a situation where only the most financially secure teams are at least given a chance at the grid. No one and done teams.