Preheat oven to 350F and line 2, 8-inch cake pans with parchment paper; set aside.
Place eggs, sugar and vanilla into a mixer bowl. Whisk on high speed until eggs are light and fluffy, almost white in color. Gently fold in the melted butter.
In a separate bowl, combine all the dry ingredients: flours, baking powder and salt. Sift the flour into the batter in small batches using a fine mesh sifter, alternating with coconut cream until all ingredients are folded in. Fold in very gently to keep the eggs fluffy.
Divide batter evenly between the two prepared pans and bake in preheated oven until tops are set, about 30 minutes. Remove from oven and onto cooling racks to cool completely.
To prepare the frosting: whisk the softened cream cheese and butter until light and fluffy. Add the vanilla extract and coconut cream; whisk. Gradually in the confectioner's sugar, scraping down the sides of your mixer bowl often.
For the filling, simply combine the shredded coconut with sweetened condensed milk until well combined.
To assemble the cake, spread the first layer with butter cream, followed by the coconut filling. Top with second layer and coat entire cake with more butter cream. For garnish, sprinkle top with toasted coconut and/or Raffaello candy pieces. Refrigerate cake for a few hours before serving.
Toasting coconut: preheat oven to 350F. Spread coconut pieces onto baking sheet and bake until coconut reaches desired color. The coconut will toast very quickly; watch carefully!