So, once I've imported all my photos into iPhoto, if I want to resize any, I have to:
- Resize them using Preview
That seems a bit much!
No really. iPhoto is meant to store your full resolution images. Any edits made in iPhoto are recorded in a database, and the original image files are not overwritten. You will always have access to the full-sized unedited image files in iPhoto. If you need a resized and/or edited photo to use outside iPhoto then the standard procedure is to export the photo. The recorded edits are applied and a new image file created outside of iPhoto. When you have used it in the external application, you are meant to delete this image file since the original is still in iPhoto, and an edited version can be created again at will.
Dragging a photo from iPhoto to the Desktop is an "export".
This is standard behaviour for all Digital Asset Managers (like iPhoto, Aperture, Lightroom, Capture One, etc). Where iPhoto tends to lag is that the export options are very limited. In the other 3 DAMs listed above you can specify very precise export settings.
For instance with Lightroom you can resize (measured by pixels or inches or mm) to a specific size, to fit within a size, to a specific long edge and/or short edge dimension, etc. etc. As well you can set a MB limit. You can export to all sorts of different file types, and set the JPG quality to a specific number (not iPhoto's 'good/better/best' style). The export settings are very powerful, can be saved as presets for use later on. These Export settings are (more or less) common to Lr, Ap, and C1.
In all of these cases you are meant to use the exported image in your project - but not to store it as a standalone image. I delete 99% of the images that I have exported. I use them, and when the project is done I rarely need that photo - in that state - again. The original is still in Lightroom, and I can re-export whenever I need it again.
Hope this helps.