Not sure if this has been gone over before, but I think Retroarch horizon is defaulting to the wrong recorded refresh rate. Its something like 59.97hz, the NTSC standard, but the actual Switch horizon refresh (both handheld and TV) seems to be exactly 60 hz, or possibly 60.002 hz, which is Retroarch's estimated refresh. Its important to set the correct refresh rate in retroarch, because otherwise with sound sync on, you're going to get a small amount of visual lag and occasional microstutter. You can see it clearly looking at the save screen of Sonic 3 with some chaos emeralds, they are flashing white every other frame. If you wait for a minute or two with 59.97 set, you're going to see an occasional flash, as you get two frames in a row showing emeralds without the white frame inbetween. Set it to 60 and this goes away.
As a point of comparison, Vita Retroarch defaults to 59.94 hz, and that seems to be correct for its screen, it roughly matches the estimated refresh rate, and Sonic3's emeralds appear solid using it.