Place flour, sugar, cardamom and salt in a food processor and pulse to combine. Then add cold butter, cream cheese, sour cream and vanilla in a food processor and pulse just until combined. You should have a crumbly dough. Do not overmix.
(If you don't have a food processor, let butter and cream cheese come to room temperature. With a stand or hand mixer with beater attachment or a spoon, cream together butter, cream cheese and sugar just until light and fluffy, about 1 minute. Then add in sour cream, and vanilla and combine. Lastly, add in flour and mix with a spoon or yoru hands just until combined. This method will lead to a chewier rugelach vs. the flakier cookie with cold ingredients.)
Lightly flour a clean surface and dump dough onto the surface. Divide the dough into four equal sized balls (I use a scale) and flatten each into a disk. Dough will be slightly sticky. Wrap each disk in saran wrap and chill for two hours or ideally overnight. It also freezes well for up to 2 months.
In a small bowl, combine finely chopped bittersweet chocolate, granulated sugar and cinnamon.
With a rolling pin, roll out each disk on a lightly floured surface into a circle, about 9 inches across and 1/8 inch think keeping the other balls in the refrigerator until you are ready for them.
Spread a thin layer of peanut butter (about ¼ cup) on the circle, sprinkle evenly with chocolate mixture.
Preheat oven to 350 degrees F.
Cut the circle into 12 triangles with a sharp knife or pizza cutter. Roll up each triangle from the wide end, and secure the tip into the cookie so you have a little spiral. Place cookies on a parchment lined sheet, with the tip on the bottom, and freeze for 30 minutes to prevent spreading.
Whisk together egg yolks and water for egg wash and wash over rugelach. Bake for 20-25 minutes or until golden. Cool and enjoy!