Over the past 20 years, not a single Champions League title has gone to a small or even medium-sized club. Only the top teams took part in the division: only 9 clubs received 20 titles. If we take away Real, the situation would look more diversified, but still, the last time a small club took the title was 21 years ago and it was Porto. Therefore, if you look at the situation objectively, in each season it is easy to assume that one of the top will take the title, and given the fact that some clubs are in crisis, for example Barcelona, the choice becomes even smaller.
I do not know what you mean by top teams because the top teams in each of the leagues keeps changing with just few teams like Real Madrid, Bayern Munic, Barcelona and PSG being regularly at top four. Before, Man Utd and Chelsea were top teams and champions league regulars and even winners of the same league but you will agree with me that we are seeing something different lately. Next season champions league will see some of the supposed top teams absent in the tournament, in this case it becomes an incomplete statement to conclude that champions league is only for the top teams because defining what a top team should be is something very difficult to do.
The Champions League is not just for top teams.
Yes, there have been only 9 clubs winning the title in the last 20 years,
but I don't think winning the trophy is the only aspect of the competition.
Upsets happen every year, there are always surprises of small teams beating bigger teams.
The way Manchester United couldn’t survive a group with Copenhagen and Galatasaray shows enough reasoning why I say that.
Man United is definitely the bigger club among those, but surely didn’t do justice to the
"top club" definition. Maybe one of the top teams will take the title again, but the competition will always be fierce

.