To move your content you need to create an XML export file of your content. It will not include the theme as they cannot be exported. See 3 below.
Note: Premium Themes that are licensed for WordPress.com use only cannot be transferred to self-hosted WordPress.org sites. http://en.support.wordpress.com/themes/premium-themes/
Also note that if you have purchased a premium theme you will have to contact the theme designer and request a wordpress.org version of it.
WordPress.com and WordPress.org are completely separate.
1. Hire a web host http://wordpress.org/hosting/
2. Set up a WordPress.org install and equip it with a theme and plugins.
3. Export your content out of your WordPress.com blog http://en.support.wordpress.com/export/ and import it into the install.
4. Purchase a site redirect upgrade from wordpress.com
http://en.support.wordpress.com/site-redirect/ or if you have domain mapping then update the nameservers http://en.support.wordpress.com/domains/domain-management/
5. Transfer subscribers and stats. See http://en.support.wordpress.com/moving-a-blog/moving-your-subscribers/
6. Set your wordpress.com blog visibility to private. To change blog visibility to private go to > Settings > Reading scroll to Blog Visibility and choose option 3 . See the guide here http://en.support.wordpress.com/settings/privacy-settings/
Alternatively you can purchase a Guided Transfer and Staff will do the move and set up for you http://en.support.wordpress.com/guided-transfer/