In the bowl of a stand mixer using the dough hook attachment and on the stir or low speed setting, mix together 3 cups + 2 tablespoons of flour, sugar, salt, and yeast.
In a small saucepan, heat the butter, sour cream, milk, and water over medium heat just until it reaches 120-130 degrees F.
Using the stir setting, mix the warm milk mixture into the yeast mixture, and just when combined, add the egg.
Continue mixing with the machine on speed 4-5 and slowly add enough of the remaining 1/2 cup flour to make a soft dough that is just slightly sticky. Don’t add too much - your dough will become dry.
Continue mixing until the dough clings to the hook and cleans the sides of the bowl. Reduce the speed to low, and continue kneading until the dough is smooth and elastic (an additional 1-3 minutes).
Place the dough on a lightly floured surface and knead it a few times. Gently poke it with a finger; it should spring back slowly. In addition, it should feel like your earlobe or a baby’s bottom.
Place dough in a greased large mixing bowl, turning to coat. Cover and place in a warm, non-drafty area and let rise for 15-20 minutes (high altitude for the lower number).
While the dough is rising, butter 12 muffin cups and preheat the oven to 350 degrees.
Punch down the dough, place on a lightly floured surface, and cut into 12 equal pieces. Roll each piece into a smooth ball (I pull down the sides, pinch them together on the bottom, then roll it). Place each roll in a muffin tin, smooth side up. Cover and place in a warm, non-drafty area and let rise until doubled in size, around 30-40 minutes.
Bake for 20 minutes or until lightly browned on top and the internal temperature reaches 185-190 degrees F on an instant-read thermometer.
Remove from pan and cool on a wire rack.
Best when served warm with butter on the side!