This is what I know so far: the difficulty is indicated by the color of the circle - from easiest to hardest: green, orange, red.
The catch rate also depend on how big the circle is and if you get it in the colored circle or not. If the colored circle is big and you get it in the colored circle then you get a "nice throw". If the colored circle is about half of the regular white circle then you get a "great throw" and if the circle is the smallest it can get and you get it right in the colored circle then you get a "excellent throw".
For a "nice throw" you get 10xp bonus, if it's a "great throw" you get a 50xp bonus, and if it's a "excellent throw" you get a 100xp bonus. I'm not 100% sure but I think if you get a curved ball catch then I think it also increases your chance of catching it, also you get a 10xp bonus for a curved ball catch.