Place the peeled and cut potatoes in a large pot and cover with cold water by about an inch. Add a generous pinch of salt.
Bring to a boil over high heat, then reduce to a simmer. Cook until the potatoes are very tender when pierced with a fork, about 15 to 20 minutes depending on size.
While the potatoes cook, warm the milk and butter together gently in a small saucepan or microwave until the butter is melted and the mixture is hot but not boiling. Keep warm.
Drain the potatoes well and return them to the hot pot. Let them sit for a minute to evaporate excess moisture.
Mash the potatoes using a potato masher or ricer until mostly smooth. Pour in the warm milk and butter in a steady stream, stirring to combine. Add sour cream if using, then season with salt and pepper.
Fold in about three quarters of the cheddar and half of the Parmesan so the mixture is cheesy but still soft. Taste and adjust seasoning.
Transfer the mashed potatoes to a buttered 8x8 inch baking dish (or similar size). Smooth the top with a spatula.
Mix the panko breadcrumbs with the remaining Parmesan and olive oil or melted butter. Sprinkle the breadcrumb mixture evenly over the mashed potatoes. Dot the top with small pieces of butter if you like extra richness.
Bake in a preheated 400 F (200 C) oven until the top is golden brown and crispy, about 18 to 22 minutes. If you want extra color, place under the broiler for 1 to 2 minutes while watching carefully.
Remove from the oven, let rest for 5 minutes, garnish with chopped chives or parsley, and serve warm.