1.) The difficulty of porting plugins vary. There are, of course, change from Python 2 to Python 3. But you also have to contend with some API changes. You will probably want to take a look at this if you haven't already. http://www.sublimetext.com/docs/3/porting_guide.html
A fewthings I think people ran into are the restricted API usage at start up. JPS had listed what calls will work at start up, might be in the change log, I can't recall. The second being restricted access to edit objects. That is, you can no longer create/manage edit objects with begin_edit and end_edit. The most widely used method I have seen is to create a new command that runs the only does the insert/replace and call that from your plugin. If you were directly accessing resources in your plugins, you should use the "load_resource()" method, as packages may be executed from the sublime-package file rather than the Packages directory. There are some general API enhancements, so take a look if you haven't already. http://www.sublimetext.com/docs/3/api_reference.html
2.) There are any structural changes between ST2 and ST3 that I know of. Many plugins will work on both ST2 and ST3 with minimal modifications.
3.) I've been using ST3, almost since it's release and it feels pretty stable to me. I think a major limiting factor is the number of plugins that haven't been ported to ST3. I'm sure this isn't a complete list, so you will want to check the actual plugins you use for ST3 compatibility, but it's probably a good starting point. https://github.com/wbond/sublime_packag ... e-Packages
Under the assumption you will eventually switch to ST3, it's probably worth while to get your personal stuff ported over now. If you do decide it's not quite where you would like it to be, you can always go back to ST2. You can install/use ST2 and ST3 side by side, so I don't really see any major downside in at least trying it. I guess you could argue time porting your personal plugins, but like I said, you would probably do that eventually anyways.