Trouble picking up a sword
I usually have two swords. One on the ground an one in the hand. 

Why two?

Because they have complete different purposes. The one in the hand should damage whatever it touches. It should provide feedback and so on. The one on the ground should be pickable.

In general you split your operation of picking into several parts:


Move your character into a defined position and
orientation relative to the sword to be picked up. (several frames)
Animate your character until it grabs the sword. (several frames)
Remove the sword on the ground, show/add the grab in the hand
(incl. parenting). (one frame)  
Animate your character to lift up the sword.(several frames) 


In your version I guess you parent the sword when performing 3. This will work pretty good, when the timing and setup is very precise. It will result in incorrect parenting when there is inaccuracy of any kind.

The above solution gives you a fallback. As you explicitly add the sword to the hand, you can ensure it is always right. The inaccuracy will result in animation jumps (the sword suddenly jumps into the hand) but the followup situation remains correct.



My way to create precise animations:

Create the animation with the sword in the hand. Let the character bow down to grab. At the contact keyframe the sword should lay flat at the ground. This is the important pose. You can copy the sword to create the sword on ground (or you place it in a matching pose). The relative position and orientation between sword and character needs to be preserved.

From there you can animate the lift up animation till the desired standing animation (with the sword). 

Have a look at this video to see this method in action. The character walks to a predefined spot and turns towards a predefined direction (1). Then it plays bowing down (2). Followed by an item exchange (3). Finally the character stands up with the item (4).