Preheat oven to 375°F (190°C). Line a 15x10-inch jelly roll pan with parchment paper, leaving a 1-inch overhang on the short sides. Lightly grease the paper and sides of the pan. In a large bowl, beat the eggs on high speed for 5 full minutes until thick, pale, and tripled in volume. Gradually add the granulated sugar, beating for another 2 minutes until ribbon-like. Beat in the oil and vanilla until just combined.
Gently fold in the grated carrots with a rubber spatula. In a separate bowl, whisk together the flour, cinnamon, ginger, nutmeg, baking powder, and salt. Sift this dry mixture over the egg batter in two additions, folding gently after each until just combined and no dry streaks remain. Be careful not to deflate the batter.
Pour and spread the batter evenly into the prepared pan, reaching all corners. Tap the pan lightly on the counter to release air bubbles. Bake for 10-12 minutes, or until the top springs back when lightly touched and the edges are just starting to pull away from the pan.
While the cake bakes, lay a clean, thin kitchen towel on the counter. Dust it generously with the 1/4 cup of powdered sugar. As soon as the cake comes out of the oven, immediately invert it onto the sugared towel. Carefully peel off the parchment paper. Starting from a short end, use the towel to gently roll the warm cake into a log. Let it cool completely rolled up in the towel on a wire rack, about 1 hour.
For the frosting, beat the softened cream cheese and butter together on medium speed until completely smooth and creamy, about 2 minutes. Beat in the powdered sugar, vanilla, and salt until light and fluffy. Unroll the cooled cake carefully. Spread the frosting evenly over the surface, leaving a 1/2-inch border on all sides. Re-roll the cake tightly, using the towel as a guide but without rolling the towel inside. Wrap the finished roll in plastic wrap and refrigerate for at least 30 minutes before slicing. Dust with more powdered sugar to serve.