I haven't tried PySFML for Python 3, but I guess it probably has bugs like 2.x, and they probably won't be fixed, as it isn't under development anymore.
I've written an
up to date binding for SFML 2 (which is the version you should probably be using), but sadly I've recently realized that it will need some work before the Python 3 version works.
The Python 2 version is supposed to be somewhat stable, but I'm not getting a lot of feedback from the community. I also think it's very likely that some methods that I never use are buggy, but it should be quickly fixed once someone reports the bug.
Also, I don't really really know where this binding is going. There have been several attempts of writing a better Python binding, but as far as I know, mine is the most complete currently, as well as being as fast as the old binding according to my tests with crappy drivers (I'd need to run them on Windows to get more interesting results). However I didn't get any feedback about that either.
As of learning, currently the best way is to learn with the official C++ tutorials, then learn how it maps to the Python version. I'll try to write a tutorial
here one of these days as well.
Pygame is a good alternative, although its API is more awkward and it's slower when you do heavy stuff on hardware-accelerated platforms.
I'd say pick whatever floats your boat. If you need a very stable library or if you need to release a game soon, Pygame is definitively better currently. If you want your game to be usable on all Unix platforms and you know it won't require heavy graphics effects, then I'm not sure everyone will agree with me here, but I think Pygame is more suited as well. (I have terrible performance with SFML on Linux because of Intel's ant ATI's open source drivers.)
Edit: another popular library is Pyglet. It's closer to SFML in that it also uses OpenGL.