Preheat oven to 350°F. Grease a 9x5-inch loaf pan with butter or cooking spray and line the bottom with parchment paper, letting it hang over the sides.
In a large bowl, whisk together flour, baking powder, baking soda, and salt for about 30 seconds. Add chopped cranberries and toss to coat them in the flour mixture.
In a medium bowl, whisk together brown sugar, oil, melted white chocolate, egg, vanilla, and sour cream until smooth with no streaks.
Pour wet ingredients into the flour-cranberry mixture. Fold gently with a rubber spatula until just combined. The batter will be lumpy. Do not overmix.
Scrape batter into prepared pan and spread evenly.
For the streusel: In a small bowl, whisk together flour, brown sugar, and finely chopped pecans. Add cold butter pieces and use your fingertips to rub the butter into the dry ingredients until it resembles coarse breadcrumbs with some pea-sized pieces.
Sprinkle streusel evenly over the batter. Do not press down.
Bake for 55-60 minutes without opening the oven door for the first 45 minutes. Bread is done when a toothpick inserted in the center comes out clean or with just a few moist crumbs, the top is golden brown, and edges pull slightly from the pan.
Let bread cool in the pan for 10 minutes. Use the parchment overhang to lift the bread out and transfer to a wire rack. Cool completely before slicing, at least 30 minutes.
Slice with a serrated knife and serve.