Ill bet money its the cat, Ok heres what you need to do... Take out the front o2 sensor out and drive the car around it will be a little loud but if the car drives better then the cat is your issue.

P.S. Driving around with the front o2 out will throw a code.