Line the bottom of 3 cake pans with parchment paper. Lightly spray the sides and bottom of the pans with cooking spray.
In a large bowl whisk together the flour, baking powder, baking soda, and salt, set aside.
Add the softened butter and sugar to the bowl of a stand mixer with the paddle attachment and beat until combined and fluffy.
Add in the eggs, zest, juice, sour cream, and oil and beat until well combined.
Mix in about half of the flour mixture along with half of the milk, then slowly mix in the remaining flour and milk and beat until the batter comes together.
Divide the batter evenly between the cake pans.
Bake in the preheated oven for 20-25 minutes, until the cakes are golden and a toothpick inserted in the center of the cake comes out clean. Cool completely.
Meanwhile, make the frosting by adding the powdered sugar, butter, cream cheese, key lime juice, and vanilla extract to the bowl of a stand mixer and beating with the paddle attachment until smooth and fluffy. Set aside.
Use a serrated knife to flatten the cakes by cutting off the domed part of the tops of each cake.
Place one of the cakes onto a plate or serving platter and pipe or spread frosting on top. Add another layer of cake on top, repeat until the cake is assembled.
Spread the remaining frosting evenly onto the top and sides of the cake.
Decorate the cake as desired, then slice and serve.