There's nothing tremendously wrong with having <style> blocks in your page, but given how easy it is to use CSS files in Moodle (and the benefit they bring), it's easiest to use a CSS file.
When you're developing Moodle 2 blocks, you don't even need to do any legwork. All you need is a file called 'styles.css' in your block folder. Moodle automatically picks it up and uses it.
Because of the way Moodle builds, processes and caches CSS, you can do pretty neat things and it's easier to load images without manually specifying which folder you want to load them from.
The attached picture shows an example: a block I'm building right now that contains a few icons and graphics. The CSS to load those icons is in /block/mission_control/styles.css and the images are all in /block/mission_control/pix.
For example, instead of doing this:
.myResults {
background-image: url("/blocks/mission_control/pix/myresults.png");
}
I can do this:
.myResults {
background-image: url([[pix:block_mission_control|myresults]]);
}
When I build blocks, I build them with the idea that I might release them for other people to use. I put all the CSS for the block in styles.css in the block's folder, and I include all icons/images in the blocks' folder, in a folder called 'pix'. Doing this and using Moodle's CSS shortcodes keeps all the block's stuff neatly bundled together. The first CSS example above would only work if it was used at moodle.somesite.com, not somesite.com/moodle (because it's looking in /blocks instead of /moodle/blocks). The pix" shortcode would still work.
I know I'm rambling a bit here, but if you're refactoring a messy Moodle, refactoring the styles into CSS files will probably help you in the long run.