Line a baking sheet with parchment paper and set aside.
In a food processor or large bowl, combine the flour, sugar, and salt, then pulse or cut in the cream cheese, butter, and vanilla extract until the mixture is damp and crumbly. Press the mixture together to form a dough.
Divide the dough in half, flatten each half into a disc, wrap in plastic wrap and refrigerate for at least an hour (until firm).
Combine the raisins, walnuts, brown sugar, and cinnamon in a bowl. Set aside.
Working with one disc of dough at a time, roll the dough out on a floured surface into a rectangle about 1/8-1/4 (3-6mm) inch thick.
Spread the dough with half of the jam and then sprinkle all over with half of the raisin walnut mix.
Starting with a long side, roll the dough with the filling into a log and place it on the prepared baking sheet. Repeat with the remaining dough and filling, and place next to the first log on the baking sheet.
Refrigerate the logs until they are firm enough to slice, about 30 minutes.
While the logs are chilling, preheat the oven to 350°F (180°C).
Once both filled logs are firm enough to slice, brush with the egg wash.
Cut slices in the logs about halfway down at 1-inch (2 ½cm) intervals taking care not to cut all the way through.
Bake the rugelach for 25-30 minutes, until they are golden brown. Let the logs cool for 5 minutes, then cut the slices all the way through and let cool completely.
Store rugelach in an airtight container at room temperature for up to three days, or in the refrigerator for up to one week. For longer storage, they can be frozen for up to 2 months. Defrost at room temperature for an hour or two.