If you're just dealing with flying objects (no object deformation), you could rig stuff up with Source's physics engine. Everything needs to be a prop_dynamic from the start, which you can physics-ify with
phys_convert. Alternatively, you can disable prop_dynamics and swap them with prop_physics equivalents when you need to throw them, which should give you more control over the exact physical properties of each object.
(I don't know that you can set phys_convert objects to not collide with players, so the swapping method is probably what you'd want to use.)
As for actually throwing objects,
env_physexplosion is your friend.
This method is faster and more versatile than a baked animation, but it's also more expensive (multiplayer servers don't like physics) and isn't predictable. I don't recommend it for a _final version, but you can probably get away with it in an early beta.