First of all, top lies. It doesn't have a very good handle on shared memory.
Second, having swap used is not always a bad thing. Processes can get swapped out and stay out thereby freeing up memory for other processes. You run into trouble when your active processes get swapped out to disk to make room for other processes which in turn get swapped out to disk so your process can get swapped back in.
You can tell if you are swapping based on the io statistics and vmstat.
On RHEL, si and so are your swap activity. si is the number of swap ins, and so is the number of swap outs. On a busy system, if your swapins + swapouts > 0 then you are swapping.
Also, look how busy your swap device is. If you are actively swapping, it will be busy all the time. (Swap devices are usually either 0% busy or 90+% busy, at which point you are swapping).