Style post archive blog preview based on category

This sounds like something that should go to the The Loop – you want this class per post, not for the whole <body>, right? Roughly archive.php (or index.php, or category-*.php) should look like this:

while (have_posts()) {
    the_post();
    $add_class = array();
    if (in_category('new')) { // inside the loop, don't need $post->ID
        $add_class[] = 'new';
    if (in_category('featured'))
        $add_class[] = 'featured'; // and so on
    ?>
    <article <?php post_class($add_class); ?>>
    <?php // ...
}

Or, depending on the theme, in content.php or some version thereof.
See docs for post_class.