Prepare and cook the potatoes. Peel and cut the potatoes into evenly sized, 1½–2-inch chunks. Place them in a large pot and cover with cold water by about 1 inch. Generously salt the water and bring to a boil. Reduce to a gentle boil and cook for 15–20 minutes, or until the potatoes are fork-tender.
Drain the potatoes thoroughly and return them to the warm pot. Let them sit for 1–2 minutes to allow excess moisture to evaporate. Mash using a potato masher or potato ricer until smooth and fluffy.
Preheat the oven to 400°F. Add the softened cream cheese, sour cream, butter, and warmed milk to the potatoes. Gently stir until creamy and well combined. Season with garlic powder, salt, and pepper. Add another splash of milk if the potatoes seem too thick.
Add the cheese. Combine the shredded cheeses in a bowl. Reserve ¾ cup of the cheese mixture for topping. Gently fold the remaining cheese into the warm mashed potatoes until evenly distributed.
Lightly grease an 8×8-inch or 9×9-inch baking dish. Spoon the cheesy mashed potatoes into the dish and spread into an even layer. Sprinkle the reserved cheese evenly over the top.
Bake the cheesy mashed potatoes. Bake uncovered for 20–25 minutes, or until the potatoes are heated through and the cheese is melted and bubbly. For a lightly golden topping, broil for an additional 1–2 minutes, watching closely to prevent burning.
Serve. Let the potatoes rest for 5 minutes before serving. Garnish with fresh chives, parsley, or a little melted butter, if desired. Serve warm.