Preheat the oven to 375 degrees F. Grease a 9-by-13-inch casserole dish with butter.
Place the potatoes in a large pot and cover completely with water. Bring to a simmer and cook until the potatoes are tender and easily pierced with the tip of a sharp knife, about 20 minutes. Drain and mash the potatoes in a large bowl. Add the butter, milk, sour cream, cream cheese and some salt and pepper, then fold to combine. Transfer the potatoes to the prepared casserole dish.
In a medium bowl, whisk the heavy cream until medium peaks form. Fold in the cheese and horseradish, and season with salt and pepper. Spread the whipped cream over the potatoes evenly to cover. Bake until the potatoes are heated through and the top is light brown, about 1 hour 30 minutes.