Preheat the oven to 350°F. Generously grease a 10×15-inch jelly roll pan with nonstick spray, line it with parchment paper, then lightly grease and flour the parchment. Set aside.
In a large mixing bowl, beat the eggs on high speed for 3 minutes until thickened. Add sugar and continue beating for another 3-4 minutes until the mixture is pale and frothy. Stir in vanilla and oil until incorporated.
In a separate bowl, whisk together flour, salt, baking powder, cinnamon, ginger, and nutmeg. Fold the dry mixture into the wet ingredients gently until just combined, then stir in the shredded carrots.
Pour the batter into the prepared pan and spread evenly with a spatula. Bake for 15-16 minutes, ensuring the cake is cooked through but still tender.
While the cake bakes, lay a clean kitchen towel on a flat surface and generously dust with powdered sugar.
Once baked, immediately invert the cake onto the sugared towel. Carefully peel off the parchment, then roll the cake and towel together from the short end. Allow to cool fully for several hours.
To prepare the filling, beat the cream cheese and butter in a stand mixer fitted with the paddle attachment until creamy. Add the vanilla extract and powdered sugar, then mix until the frosting is smooth and fluffy.
Once the cake is cooled, unroll it gently. Spread the cream cheese filling evenly across the surface, then roll the cake tightly. Refrigerate for at least one hour to allow it to firm.
Finish by dusting the top with powdered sugar, slice, and serve.