Sonic Advance 3 has some sprites limited to its link cable multiplayer, some power ups and status effects. I've tried using VBA-M which has link cable functions, but the emulator will always pause when opening the menu and trying to save with the OAM viewer. This causes the games to disconnect and having to restart the connection every time. This tedium is making me wonder if there's any other recommended methods to go about link cable sprites.
You could try mGBA that also has the link cable emulation on top of ripping features but YMMV whether it works or not.
Sadly it does seem to be the nature of multiplayer, the timing is so tight that it is very easy to get disconnected even when you emulate it locally with two emulators running. Unless it is an animation, pause the emulator then go to the OAM viewer while you are on the screen that you want to rip from. The emulator stopping while going through the menu cannot be helped, even with mGBA you have to manually create a shortcut for the sprite/tile viewers as there isn't one by default.
One idea that I used to capture palette cycles would be to get a screen capture program like ScreenGet and have that running by the OAM viewer while the game is running. Might not work but would be worth a try.
The other alternative would be to just rip directly from the ROM. Even then the sprites might be compressed. Not ripped from the Sonic Advance games but you can dump the palettes from the emulator and load them up with TileMole-ster along with the ROM.
mGBA has worked great for multi-pak multiplayer. Doesn't disconnect as easily, but also its sprite viewer just lets me copy safely regardless. Only snag seems to be that single-pak can't connect for whatever reason. Still seems to be unresolved though.