Preheat the oven to 350°F. Grease and flour a 9x13-inch baking dish.
In a medium bowl, whisk together the flour, baking powder, baking soda, salt, and cocoa powder. Set aside.
In a large mixing bowl, beat the sugar and softened butter together until light and fluffy, about 3-4 minutes. Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients to the wet mixture, alternating with the whole milk. Begin and end with the dry ingredients, mixing until just combined.
Pour the batter into the prepared baking dish and smooth the top. Bake for 30-35 minutes, or until a toothpick inserted in the center comes out clean. Allow the cake to cool completely in the pan.
Once cooled, poke holes all over the top of the cake using a fork or skewer. In a separate bowl, whisk together the sweetened condensed milk, evaporated milk, and whole milk. Pour the milk mixture evenly over the cake, allowing it to soak in. Cover and refrigerate for at least 2 hours, preferably overnight.
Before serving, whip the heavy cream, powdered sugar, and vanilla extract together until soft peaks form. Spread the whipped cream over the top of the cake. Garnish with chocolate shavings or a dusting of cocoa powder if desired.