Sorting Posts by Date – get_blogs_of_user_id()

You can build an array of all post items, and then sort them by date at the end of your querying:

$blogs = get_blogs_of_user( get_current_user_id() );

if ( $blogs ) {
    $items = array();

    foreach ( $blogs as $blog ) {
        switch_to_blog( $blog->userblog_id );
        $posts = get_posts( 'posts_per_page=2' );
        foreach ( $posts as $post ) {
            // Use the timestamp to sort all posts by later.
            $timestamp = strtotime( $post->post_date_gmt );

            // Just in case another published at *exactly* same time.
            while ( isset( $items[ $timestamp ] ) )
                $timestamp++;

            // Add our HTML for this post to the stack.
            // You can't store the post object and work on it later as we'll be outside the scope of this particular blog.
            $items[ $timestamp ] = sprintf( '<li><a href="https://wordpress.stackexchange.com/questions/138272/%s">%s</a></li>', get_permalink( $post->ID ), get_the_title( $post->ID  ) );
        }
    }

    restore_current_blog();

    if ( $items ) {
        // Sort by latest to oldest.
        krsort( $items );

        // Display!
        echo '<ul>';
            echo implode( "\n", $items );
        echo '</ul>';       
    }
}