Place the potatoes in a large pot. Add enough cold water to cover the tops of the potatoes. Add 1 teaspoon salt to the water. Turn the burner on high and bring water to boiling. Reduce heat to medium-low. Cover the pan with a lid. Cook the potatoes in gently boiling water until tender, about 15 minutes. Drain the potatoes in a colander.
In a large bowl, mash potatoes (I like to use a ricer). Add cream cheese, cheddar cheese, sour cream, onion, egg, salt and pepper; using a hand mixer, beat until fluffy.
Transfer potatoes to a greased 2 1/2-quart baking dish. Cover with foil and bake at 350 degrees for 40-45 minutes or until heated through.
Turn heat to broil. Remove foil and sprinkle additional cheese over the top of the potatoes if desired, broil for 3-5 minutes until cheese is melted.