Preheat oven to 375 degrees.
To make the streusel, combine the sugar, pecans, flour, and butter in a medium-sized bowl. Using a pastry blender or fork, mash together the ingredients until streusel resembles the texture of wet sand. Save in refrigerator until ready to use.
In a large bowl, combine the flour, sugar, baking powder, cinnamon, cardamom, nutmeg and salt, whisking to combine. In a separate bowl, combine the melted and cooled butter, milk, oil, eggs, and vanilla extract, whisking to combine. Add the wet ingredients to dry ingredients and gently stir with a wooden spoon or rubber spatula. When there are still a few streaks of flour in the batter, add the fresh cherries (that you have prepared beforehand by pitting them, slicing them into quarters and placing them in a mesh strainer to rinse and drain) and fold them into the batter until just combined.
Line muffin pans with 18 paper or foil muffin cups. Fill each 3/4 full with batter. Remove streusel from refrigerator, and top each muffin with a generous tablespoon of streusel topping. Bake muffins for 20-22 minutes, or until muffins spring back when gently pressed with finger.
Cool in pans for about 10 minutes, then remove from pans and allow to finish cooling on racks on the counter for about another 30 minutes.