Peel the potatoes, rinse in cold water and chop into quarters. Put the potatoes in a large pot and cover with water. Bring to a boil and cook until fork-tender, 20 to 25 minutes.
Drain the potatoes, then return them to the pot. With the burner on low heat, mash the potatoes with a potato masher; the more steam that's released while you mash, the better. Mash for about 5 minutes. Turn off the burner.
Add the cream cheese, half-and-half, cream, 1 1/2 sticks (12 tablespoons) butter and salt and pepper to taste; stir to combine. If the mixture needs thinning, add some milk. Check the seasoning, adding more salt and pepper if needed. Transfer the potatoes to a casserole dish. At this point, the potatoes can be cooled, covered and refrigerated for a day or two, or baked right away.
If baking right away, preheat the oven to 350 degrees F.
Dot the potatoes with the remaining 4 tablespoons cubed butter, cover with foil and bake for 15 minutes. Remove the foil and continue baking until the potatoes are heated through, about 10 minutes more.
If making ahead: To reheat, bring the potatoes to room temperature. Dot with the remaining 4 tablespoons cubed butter, cover with foil and bake at 350 degrees F until the butter is melted and the potatoes are heated through, about 45 minutes.