LordAardvark
I do indeed animate in the Graph Editor. I find it gives me more direct control over the keyframes. I explicitly animate in 24 frames per second, which is what I export out and what my final videos are rendered out into as well.
As to the approach I take for animating motions, there are a few things I keep in mind. The first and most important thing I always keep in mind is the kinematics, where is the energy driving the motion coming from. In general, the driver is the character's core, or the joint between the pelvis and the spine (on a traditional Valve Biped, this is rig_pelvis and rig_spine_0).
The next thing I keep in mind is the swing - most core-driven motion (such as sex) isn't linear, just sliding the pelvis back and forth. Instead, it's the pelvis swinging backward and forward. In this way, I think of the spine as a pendulum, with the shoulders being the anchor point. As I am animating the hip swing, then, I always try to keep the shoulders in the same place. This can be easier said than done.
Equally important to keep in mind, though, is that human bodies are not perfect machines. Our brains are pretty good at automatically compensating for spatial locking, but we aren't perfect at it. Try recording yourself moving your body around while trying to keep your head in one spot - you'll find that, while you're able to keep your head mostly in the same spot, it still gyrates around a bit. Compare this to, for example, chickens, who are notoriously able to keep their head in the exact same spot as you move their body around.
As such, while you want to keep your character's shoulders in the same general spot, you don't want to keep them in the exact same spot. I've actually managed to do this accidentally, animating the swing so perfectly that the head stays perfectly still. And it looks fucking weird. There is such a thing as too perfect, and you don't want that. Luckily, if you do manage to make your swing motion perfect, it's easy enough to add imperfections to it.
Something I find helpful when it comes to animating swing is to keep this abstract image in mind. It's what I mentally picture as I am building out my keyframes.

Finally, the last thing I keep in mind are the foundations of weighty animation: anticipation and follow-through. My animations are always at minimum 4 keyframes per cycle, often 5 keyframes. The first and last keyframes are the same, and by convention I always pose them to be at the aphelion of the motion, where the characters are the farthest apart. That's generally the full length of the penis. The second keyframe for me, then, is then anticipation - I generally build this by having the character's spine arching back even further, while at the same time moving them slightly in toward their partner while their partner pulls in toward them. The third keyframe is the moment of impact, and is where the deviation between 4- and 5-frame cycles comes in.
In a 4-frame cycle, the third keyframe is actually its own follow-through - I intentionally animate it as an overshoot, going farther than what I want the actual animation to be. When played back as a complete cycle, the Centripetal Catmull-Rom spline that Source uses for its "Spline" tangents won't actually touch the full keyframe, stopping just short of it before it moves to the next keyframe. While the raw keyframe is overextended, when played back as a fluid animation, it will be understated - and when you combine overextension and understatement, you get a perfectly placed keyframe!
In a 5-frame cycle, the third keyframe is just the impact. The fourth keyframe, then, is the follow-through. Both characters move behind the initial impact, before returning to their original positions in frame 5. In general, I find the 5-frame cycle is usually only necessary in slower animation, or very exaggerated animation. Most "reasonably" fast-paced animation, in my experience, can get away with a 4-frame cycle.
Since you brought up Corsair explicitly, here is a keyframe breakdown of one of the animations in it. I have added the little swing diagram shown above as an overlay, so you can more clearly see the thought process I had in mind when building the motion.

As you can tell, this is a 4-frame cycle. Frames 1 and 4 are the aphelion, with frame 2 being the anticipation where I have his spine arched back while both himself and Artemis move toward each other, and frame 3 being overextended and serving as both the impact and follow-through frames.
And then of course, when played back smoothly:

And then to cap off this response, since you also briefly asked about timings: as a matter of course, I have a few "preset" speeds that I work with. Again animating in 24 frames per second, I start off all "fast" animations with keyframes every 3 frames, "medium animations" every 6 frames, and "slow" animations every 12 frames. Once I have the keyframes made, I then move them around until I like the speed and motion - which is a major advantage the Graph Editor has over the Motion Editor, being able to easily move the keyframes around.
This is very much a play-by-eye thing, with a lot of trial and error. A good general rule of thumb, though, is that the distance between the last keyframe and the one before it will typically be the longest delay, because all of the previous keyframes - the anticipation, impact, and follow-through - all work toward move in for penetration, while the last keyframe is returning to the aphelion. Meaning that the last keyframe has to travel the same distance that the previous 3 keyframes covered, and as such, will typically need more time.
One last note to end this post. You didn't explicitly bring it up, but I see other animators - aspiring and otherwise - bring this up often: offset or staggered keyframes. This is something like having the pelvis move on frame 3, spine0 on frame 4, spine1 on frame 5, neck on frame 6, head on frame 7. That sort of motion. I don't do that. I find that not only does it complicate your motion massively (good luck keeping all of that synchronized if you decide to shave a frame off to speed things up), but the result usually isn't that noticeable. I find you can often get the same "dragging" inertia that staggering keyframes aims to generate by just being more smart with your keyframes. If you can get the same motion achieved in two ways, and one way involves half the keyframes of the other way, always opt for the simpler option.
I hope all this answered your questions sufficiently.