I think using sprites wastes a lot of performance.
I assume in your game you view at the table from straight above.
A solution would be to use a circular mask (radius of the balls) to mask a display group, put an image of the ball (in most cases flat colors with the stripes and numbers of the ball on it) and a transparent oberlay which contains the lights and shadows of the ball in it.
Now you can move an rotate the balls image as needed. This might not be perfect 2.5D but i most cases it’s absolutly enough. (the human eye is ticked very easily )