We prefer an affordable ExpressionEngine module called DataGrab. If all you are transferring is your content…it couldn't be easier. Give DataGrab the URL of your blog RSS feed, and map the fields from the old to the new.
If you are migrating custom data, you will still use DataGrab, but a little preparation will be necessary. DataGrab will now give you the ability to import member accounts. For this, you can either use the native ExpressionEngine member import utility, or there is a free module available called AJW Import Members.
In your ExpressionEngine blog channel, prepare the fields before you import the data. Make sure you have all of your custom fields ready to receive.
Next, install DataGrab by copying the files provided by DataGrab into your ExpressionEngine third_party folder, log into your control panel, visit Add-ons / Modules and click —install— for DataGrab. Return to the list and click on the DataGrab title in the Add-Ons list to go to the DataGrab system.
Now, a new import and select "RSS/ATOM feed." On the next screen, you will enter the URL of your Blog RSS feed. This is usually the URL of your blog followed by /feed. For example, the WordPress official blog feed is located at http://wordpress.org/news/feed/.
DataGrab will review the incoming data with you, and present you with options for which data you want to import and what you want to discard. Other options are available on this page.
Once reviewed, click "Import" and DataGrab will go through your entire blog and import and translate the blog entries from WordPress to ExpressionEngine.