A friend of mine had this iPhone 4 and it got it run over by a car. The phone itself worked, but the screen was broken. He ordered the parts and replaced it, then realized the camera was broken. In the meantime, our sales rep at AT&T sent him a new iPhone 4S. He told me I could have the phone with the broken camera, and if I ordered the camera, he would try to fix it.
While I didn't do the repair myself, I did watch my friend replace it. It took him all of 10 minutes, and the camera works perfectly, like it was never broken. Between the new screen and the camera, I have a like new iPhone!
Personally, I would not fix a phone like this myself. However, if you are tech savvy, patient and detail oriented, it would seem that it is entirely possible. Take your time, get all the right tools, and you will have no problems!