Make dough: Combine flour, cold water, beaten egg, and salt in a bowl; mix until a smooth dough forms. Cover the bowl and set aside.
Make potato filling: Place potatoes in a large pot. Add water to cover, bring to a boil, and cook until tender, 25 to 35 minutes. Drain and mash in the pot until smooth.
Place bacon in a large skillet and cook over medium-high heat, turning occasionally, until evenly browned, about 10 minutes. Drain bacon slices on paper towels. Crumble and stir into mashed potatoes. Stir in cheese, season with salt and pepper. Set aside.
Make sauerkraut filling: Place bacon in the skillet and cook over medium-high heat, turning occasionally, until evenly browned, about 10 minutes. Drain, crumble, and place in a medium bowl. Stir in sauerkraut, then sour cream. Mix well.
Roll dough out on a floured surface to 1/8- to 1/4-inch thickness. Cut out 3-inch circles with a cookie cutter or an upside-down drinking glass. Place a spoonful of potato or sauerkraut filling in the center of each circle and fold over, pinching edges together to seal.
Bring a large pot of lightly salted water to a boil; drop perogies in boiling water and cook until they float, 4 to 5 minutes.