Preheat the oven to 350 degrees F.
Use a sifter or metal strainer to sift the flour into a medium size bowl. Add baking powder and salt, set aside.
Use either a stand mixer or electric hand mixer, cream together softened butter, shortening, sugar and vanilla. cream together butter and vegetable shortening. With the stand mixer on low to medium add the sugar gradually and beat until fluffy, about 2-3 minutes.
Add the eggs, one at a time and mix only until combined. Mix on low to medium speed.
Add the sour cream and dry ingredients. Mix only until the batter is smooth and combined. Use a rubber spatula to scrape the bottom and the sides of the bowl occasionally.
Place ⅓ of the batter into a separate bowl.
Melt the unsweetened baking chocolate and let cool slightly. Stir the chocolate into the reserved ⅓ of the batter.
Place paper liners in 9×5-inch cast iron loaf pans or metal loaf pans. Scoop the batter evenly into the pans, alternating between the chocolate and vanilla into two prepared baking pans.
Using a butter knife, swirl the cake batters together to create a marble pattern. (If you sprayed your baking pans with cooking spray and didn't line them with paper liners - Do not touch the sides or bottoms of the pans!)
Bake in a preheated 350 degree F oven for 55-60 minutes or until when a toothpick inserted comes out mostly clean, with only a few moist crumbs the cake is done.
About half way through the baking process, VERY carefully rotate your baking pan 180 degrees. This will help the cake bake evenly. Be very careful not to bump the cake or it will fall!
Gently run a butter knife around the edge of the cakes to pull them from the pans if needed. This will help them easily come out of the baking pans.
Let the cakes cool for 10 minutes in the pan. Remove from baking pans and let cool completely on a baking rack.
Slice and enjoy. Sprinkle with powdered sugar before serving if desired.