Classic animation problem here! This is something I used to do ALL the time and it always bugged me and it wasn't until I had to do like 5 or 6 straight runcycles on different characters for a job that I figured out what was going on.
The issue here is that your intervals are too even. This is a really natural thing to want to do when animating pixel art! For example, when animating the arm that is closest to us, one would instinctively place the hand say 3 pixels from its former position on each frame. That is, the hand would move at 3 px per frame in a uniform fashion. This has a tendency to yield a fairly wooden, boring, but also an oddly reversible result that can create a bit of an optical illusion. I would advocate trying out something like this:
Assuming this is a 6-frame animation that starts at one of the key frames (arm fully extended either to the front or the rear):
Old Intervals: 3-3-3-3-3-3
New Intervals: 2-5-2-2-5-2
Or something like that. Essentially, slow the hand down as it approaches the apex/zenith/whatever. This will add some weight and acceleration when played back at a steady framerate, and it will look pretty sexy!