The newest update to Photoshop CC has a new content-aware fill tool. I used it for the first time yesterday, and I am VERY impressed.
You can now access content-aware fill two ways. One is the old way: from edit, fill. This behaves exactly as it used to. The other is a new menu choice, edit, content-aware-fill. If you do this, it does two things differently. First, it asks you to select the source area for the pixels that will be used. Second, it places each edit of this sort on its own layer, so you can come back to any one of them later. And you presumably can adjust their opacity separately, although I haven't yet tried that.
I tried it for retouching an image of variegated rock. The variations in the rock face made it impossible for the old approach to guess correctly all the time what a reasonable source would be. The new function made it quite easy to do, although a bit more time-consuming.