I've been doing a bunch of reading and research and transferring of Pokemon from older generations to newer ones this past week.

Flowchart at the bottom, keep scrolling.

Some quick notes for reference later:

  • Generation 1 to Generation 2 was the only time you could trade Pokemon to a previous generation (with limitations).
  • Generation 1-2 to Generation 3 is impossible.
  • Generation 3 to Generation 4 requires a Nintendo DS (not a DSi or 3DS) so that you can insert both the DS Cartridge and the Gameboy Advance cartridge at the same time. Transfer was done with the Pal Park feature in Diamond/Pearl/Platinum and HeartGold/SoulSilver. This included a minigame.
  • Generation 4 to Generation 5 requires two Nintendo DSs (or DSi or 3DS). Uses the DS Download Play feature. Some limited-event Pokemon need to be tranferred using the Relocator feature in Black/White. For all the others it required the Poke Transfer Lab - 6 Pokemon at a time (no more and no less) with a minigame. This is only available after defeating the Elite Four in Black/White and Black2/White2.
  • Generation 5 to Generation 6 requires the Pokemon Bank (cloud service with subscription fees) and the Transporter companion app. It will upload Box 1 from the PC, you get no further control.
  • Generation 1-2 (Virtual Console) to Generation 6/7 requires use of the Transporter app as above.
  • Generation 6 to Generation 7 requires Pokemon Bank (as above). Pokemon can be individually moved.
  • Some Pokemon from Generation 7 might be able to be moved back into Generation 6 through Pokemon Bank? I'm not entirely sure here. Needs experimentation (or reading).
  • Generation 7 to Generation 8 requires both Pokemon Bank and Pokemon Home (new cloud service with subscription fees). Pokemon can be moved box by box (if you have a 3DS) or all at once (if you don't, and both Bank and Home share the same Nintendo account).
  • The only Pokemon that can be imported into Let's Go Pikachu/Eevee are Pokemon that came from a Let's Go Pikachu or Eevee game, and have not been transferred to Sword or Shield in the meantime. I have no idea why this is the case. LGPE does have a completely different stat system, but they can translate it in one direction...
  • Any Pokemon available in the Kanto Pokedex, including regional variants, can be sent to Let's Go Pikachu or Let's Go Eevee from Pokemon Go (the mobile game). After having to re-catch them in the GO Park, they can then be moved from LGPE into Pokemon Home, and from there into Sword/Shield.

For a simplified view, here is a flowchart: