Place the diced potatoes in a large saucepan and cover with cold water. Add 2 teaspoons kosher salt.
Bring to a boil over medium-high heat, then reduce to a simmer. Cook until potatoes are fork tender, about 12-15 minutes.
Drain potatoes well, then return to the pot over low heat for 1-2 minutes to evaporate excess water.
Mash potatoes with a potato masher, ricer, or food mill until smooth.
In a small saucepan, combine 3 tablespoons butter and 1/2 cup milk or cream, 2 tablespoons sour cream, 1 tablespoon cream cheese (if using), and 1/2 teaspoon white pepper. Heat over low heat, stirring until butter and cream cheese is melted.
Pour warm milk mixture over potatoes. Stir with a wooden spoon until creamy. Season with more salt and white pepper to taste. Stir in fresh herbs if desired.
Serve warm. Store leftovers in an airtight container for up to 3 days.