Position a rack in the lower third of the oven and preheat to 350 degrees F. Make the streusel: Spread the almonds on a baking sheet and bake until toasted, 5 to 7 minutes; let cool and transfer to a food processor. Add the sugar, butter, flour, cinnamon, orange zest and cocoa powder and pulse until the nuts are ground and the mixture starts to clump. Refrigerate until ready to use.
Make the filling: Toss the cherries, almond extract and cherry liqueur, if using, in a bowl. Stir in the flour and sugar.
Make the cake: Whisk the flour, baking powder, baking soda and salt in a large bowl. In a small bowl, whisk the sour cream and vanilla and almond extracts. Beat the butter and sugar in a stand mixer fitted with the paddle attachment on medium speed until smooth, about 5 minutes. Scrape down the bowl. Beat in the eggs one at a time, until light and fluffy, 2 to 3 minutes.
Beat in half of the flour mixture on low speed until almost incorporated, then beat in half of the sour cream mixture. Beat in the remaining flour mixture, then the sour cream mixture; finish mixing the batter by hand (do not overmix).
Butter the bottom and sides of a 10-inch springform pan. Spread half of the batter in the pan. Sprinkle half of the streusel on top, then cover with the cherry filling. Drop spoonfuls of the remaining batter on top of the cherries and smooth with the back of a spoon. Top with the remaining streusel.
Bake on the lower oven rack until the cake springs back in the center when pressed, about 1 hour, 20 minutes. Transfer to a rack to cool. Run a knife around the inside of the pan, then remove the side.