Justin Scott wrote a good tutorial explaining how to programmatically create posts (ie: posts coming from a feed or another CMS) using the API. You can read more at Justin's blog.
Blogo is a really simple and easy to use application that allows you to make blog posts from your desktop.
From their website:
Easily publish text, images, videos, slideshows and more. With a simple, intuitive interface and support for Wordpress, Blogger, Typepad, Typo, Drupal, Joomla, and Expression Engine, Blogo is the best way to maintain your blog and spread the word with Twitter, Ping.fm and other supported services.
As a test, I am publishing this from it to see how it works. It was able to upload pictures and it picked up the categories, but the selected category was not applied to the actual post, neither did the custom date.
Mango blog supports publishing posts from a number of clients. This post has been published using Google Docs (formerly Writely) Google docs also supports adding pictures to posts:
It does not seem to support setting this post's category, but it has text editing capabilities, such as bold, italics and fontcolors.