Leave the oven at350°F and grease 3 8-inch round cake pans and line with parchment paper to ensure the batter doesn't stick. Set aside.
In a large mixing bowl, sift and whisk together the flour, baking soda, baking powder, and salt. Set aside.
Beat the butter, oil, and sugar with a mixer on medium-high speed until smooth and creamy, about 2 minutes. Then, mix in sour cream, vanilla extract, and coconut extract.
On low speed, add about a third of the flour mixture and a third of the coconut milk, alternating until all of the flour and coconut milk is added to the batter. Be sure not to over mix the batter — a few lumps are okay.
In a separate bowl, whip the eggs whites together on high speed until they form foamy peaks, about 3-4 minutes.
Then, add the whipped egg whites to the batter and carefully fold them into the batter along with 1 cup of the shredded coconut (do not mix), scraping the bowl as needed.
Next, evenly divide the batter in the 3 prepared pans. Bake for 20-25 minutes or until a toothpick comes out clean. Note, baking time may vary depending on your oven. Be sure not to overbake or your cake will be dry.
Once done, allow the cakes to cool in the pan on a wire rack until completely cooled.