Supports other than damage supports like brand cannot carry unless they have a good adc. Low elo is full of bad, overly-egotistical adc's. Recent metas have reinforced a fear of dying in people - preventing many high burst damage all-in comps... stuff like vi jg plus zed mid plus some diving toplaner with burst such as a riven or darius. Peeling is too strong to reward such comps unless they are already far ahead. But back to the reason top an mid are still played.
Mid - has some carry potential, but it doesn't last into the late game; it should. Their potential largely lies in either early snowball of their lane and jg which can be carried to other lanes (mostly bot) or... go even mid and empower side lanes via roams/ganks (again, mostly focused on putting their bot lane ahead). This is why we see stuff like taliyah be so popular. She's not top tier due to her power, but due to the power she has to put her bot lane ahead and let them snowball while going about even in mid.
Top - the answer is simple. People in solo queue prefer to play carry champs even if they have less potential to win a game. To borrow from/paraphrase Phylol, toplaners would rather have fun on a carry toplaner than play a tank and have a higher chance to win the game. To translate that across roles... people would rather lose a game toplane as darius or fiora than win a game as braum or soraka support.
Popularity does not equal viability or ability to carry. Just because people play a role doesn't mean it's in a good spot. Not being able to carry doesn't mean you are at the correct elo. There's plenty of plats and diamonds who will admit on the boards to having games in silver elo smurf account which they cannot carry. I myself last season dropped from s3 50+% winrate to s5 0lp over 2 weeks with 90% unwinnable games. Whether I was 4/0/0 while being camped by the enemy jg or was 0/3/2 in lane... it wouldn't have an impact on the outcome of the game. It didn't matter if I could 1v2 the fed enemy bot duo... we still couldn't win a 5v5 and my teammates wouldn't or couldn't hold a tower 4v3 and let me split to victory. After 2 weeks of elo hell? This "git gud" "stay bronze 5" etc. toplaner climbed to gold 3 in less than a month. Not through improving myself, but through having actually winnable games where my teammates were capable of winning lanes or at least losing gracefully rather than full on inting. That's right... s5 0lp to gold 3 in less than a month.
With the current state of the game? Those bot lane fed duo's that I could (and sometimes did) 1v2 last season would just delete me now. Not through superior skills or having improved more than me, but through the meta being just stupidly in bot lane's favor. It's much easier to 2v1 shut down a solo laner from snowballing than it is to 3v2 shut down a fed botlane if you're bot lane is that bad or even just one of the two is. It's much easier to just be a giant cc meat shield for your fed adc and win a game even if you got your butt kicked than it is to shut down said adc through said meatshield as a fed melee toplaner or mid. It has nothing to do with skill or "all roles have 20% carry potential now" (which is a lie). It has to do with itemization, runes, meta, and access to doing damage to carries. Adc's get the best of it in every way.
I'm a former support main, current toplane main. I still enjoy support role as secondary. And I will tell you, the game is far too rewarding to peeling, to adc's, and to aa-based champs in general. The same burst damage threat that a mid used to have late game when I started playing seasons ago is not there. The same potential for those roles to carry is not there. The game is entirely weighted around the role of adc. Not completely because of the adc itself, but it is the combination of factors for all roles which collectively gives far too much power to this one role. Which we can clearly see via almost every pro game... just so no one argues that it's only true at low elo or for solo queue.
People remember when those other roles mattered. People play for the one game in 20 when they still do matter. When you get to live out the fantasy of being that fed assassin or mage who reigns death on anyone you chose who walks within range of you. When you live out that fantasy of teleporting behind the enemy team as they rush baron and 4v5 demolish them - picking up a triple kill on your fed toplane bruiser or fighter while simultaneously tanking the damage of 4 of the 5 enemy team members. When you see the fed enemy adc who expects - thanks to stupidity of how overpowered they have been in recent past and somewhat still are - be be able to stand there and dps you down... only to realize, they're going to die... so you watch them panic flash, pop heal, and run for their lives, then kill them anyways. People live for that one game in 20 where they still get to do that... even if the other 19 games largely involve them getting smashed regardless of how well they do in lane and how well they play out post-laning phase as an individual. Because it is far more rewarding when it succeeds than right clicking someone to death who can never hope to reach you or burst you. Because it is far more rewarding than tormenting other roles who would in seasons past have been able to carry the fight but now cannot due to adc's and the meta, items, and runes which overbuff them... and knowing that you have given in to being one of the bad guy's and become a cronie pawn for them rather than join the resistance... (and fight along side captain america) for true justice and fairness.