The way you have phrased your question implies to me that you intend to break up each subcomponent of the game and farm that out to an individual outsourcing entity (somebody gets the graphics, somebody gets the physics, somebody else gets the audio, et cetera). That seems fraught with peril -- you will need to spend an inordinate amount of time making extremely clear, detailed requirement and design specifications to give to each outsourcing entity in order to have a prayer of integrating everything without doing significant reworking on your own -- thus wasting money and probably defeating the purpose of outsourcing anyhow.
It's more feasible to essentially pay a single somebody to develop the entire game. You can find outsourcing companies via Google, unfortunately I don't know of a reputable directory of such companies. You might have some luck at the Help Wanted forum on GDNet, although I wouldn't hold my breath.
You may be able to handle outsourcing every component individually if you do them one at a time, and you write the core game yourself (basically providing a design and hooks for a rendering API, and having somebody else fill it out, et cetera).
I feel like you're vastly underestimating the amount of iteration and clean up that is going to go into outsourcing code development, and when you add that to the cost (because you'll get what you pay for) I'd be willing to bet that outsourcing that much of the game's development is not financially viable for indie game development. If you were a large studio, perhaps the overhead would be amortized a bit.