Sounds like your doing it right, so the only thing we need to stop is the rotation, and deal with the jitter
The Fist thing regarding the jitter that I would suggest you check is in the GEO node for the floor AND the particles are to make sure that the "resilience" (otherwise known as bounciness) is set to ZERO on both the floor and your particles, otherwise they will continue jittering.
Also, you can key this value as well so they bounce a few times, then stop.
Finally, one TRUE, way of killing the bounciness completely is to bake your simulation, and in the graph editor starting at the frame where your particles are hardly jittering at all, just delete all the keyframes after that, this way they will freeze in place, thus stopping their movement all together
This is a great technique to use in conjunction with the Trax editor to get the animation timing to look right as well.
As far as the random rotation, having particles rotate randomly with an expression is nice, but they will continue rotating regardless of the scene interaction.
So, if you set the rotation expression to be controlled by particle age, then they will stop as the particle gets older.
There are a few other ways to help this as well, such as particle collision events, etc. but try those first, good luck!
Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS