How to Make It
Beat softened butter, cream cheese, granulated sugar, and vanilla with a stand mixer fitted with a paddle attachment on medium speed until creamy, about 1 minute. Stir together flour and 1/2 teaspoon of the salt in a small bowl. Gradually add flour mixture to butter mixture, beating on low speed until smooth, about 1 minute. Divide dough into 4 equal portions; flatten each into a disk. Wrap each disk in plastic wrap; chill 2 hours.
Stir together brown sugar, cinnamon, cardamom, ginger, allspice, and remaining 1/4 teaspoon salt in a small bowl.
Working with 1 disk at a time, remove dough from refrigerator; roll into a 10-inch circle (about 1/4 inch thick) on a lightly floured work surface. Spread disk with 1 tablespoon of the very soft butter, leaving a 1/2-inch border. Sprinkle butter evenly with one-fourth of the brown sugar mixture (about 3 packed tablespoons). Sprinkle evenly with one-fourth of the chopped almonds. Cut into 12 wedges; roll up each wedge starting at wide end. Arrange wedges, pointed sides down, on a baking sheet lined with parchment paper. Place in refrigerator. Chill rugelach 20 minutes. Repeat process with remaining dough, butter, brown sugar mixture, and almonds.
Preheat oven to 350°F. Whisk together egg and 1 tablespoon water in a small bowl; brush evenly over rugelach. Sprinkle evenly with sanding sugar. Working in 4 batches, bake until golden brown, 18 to 22 minutes. Cool on baking sheets 10 minutes. Transfer to wire racks, and cool completely, about 15 minutes.