Preheat oven to 350 degrees (F). Generously grease the bottom and sides of three 9-inch round cake pans; line with parchment paper rounds and set aside until needed.
In a large mixing bowl, sift together the flour, baking powder, baking soda, and salt. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment, beat the butter on medium-high speed until smooth and creamy, about 1 minute.
Gradually add in the sugar and beat on high speed for 2 minutes or until light and fluffy.
Beat in the vanilla extract, coconut extract, and almond extract.
Reduce the speed to low and add in the beaten egg whites in three additions, beating well after each addition.
In a spouted measuring cup, combine the coconut milk and sour cream. Mix until evenly combined.
On low speed, add the flour mixture in three additions, alternating it with the coconut milk/sour cream mixture, beginning and ending with the flour.
Add in the oil and beat until just combined. Fold in the coconut until just combined.
Divide the batter evenly among the prepared pans and smooth the tops.
Bake for 20 minutes or until lightly brown around the edges and a toothpick comes out clean.
Cool the cakes in the pans on a wire rack for 20 minutes. Then invert the cake layers onto cooling racks and cool completely.