Whilst
HERE tells us where the swarm table is in Emerald, the swarm table in Ruby is at 0x3D13F8, and the table in Sapphire is at 0x3D1450 using their formula the swarms are:
Surskit Lv3, Route 102: Bubble, Quick Attack
Surskit Lv15, Route 114: Bubble, Quick Attack
Surskit Lv15, Route 117: Bubble, Quick Attack
Surskit Lv28, Route 120: Bubble, Quick Attack
Skitty Lv15, Route 116: Growl, Tackle
Something to note, some are using lower level movesets than they should, surskit learns sweetscent at level 13, whilst skitty should know tail whip (lv3), attract (lv7), sing (lv13), and double slap (lv15), maybe the movepools were updated after swarms were coded, or the swarm levels were changed but the table not updated to match the new levels
Also as a note the previous table for emerald is a bit wrong, here's the new one:
Seedot Lv3, Route 102: Bide, Harden, Leech Seed
Nuzleaf Lv15, Route 114: Harden, Growth, Nature Power, Leech Seed
Seedot Lv13, Route 117: Harden, Growth, Nature Power, Leech Seed
Seedot Lv25, Route 120: Giga Drain, Frustration, Solarbeam, Leech Seed
Skitty Lv8, Route 116: Growl, Tackle, Tail Whip, Attract