Obviously they struggled in the Ashes, but most teams would struggle against that attack in the form it was in. England's batting dominated against Pakistan, who certainly don't have the weakest attack in world cricket, and really against all other opposition in recent times. Pietersen is obviously a class batsman, Strauss has been pretty consistent outside of the Ashes and would make most sides in the world, and Cook and Bell are pretty good prospects, particularly Cook. Bell I don't rate all that highly, but he's done reasonably well against teams other than Australia. Collingwood has generally been pretty good too, though he's not done much on any lively wickets yet. I haven't seen Joyce bat much yet, so I can't comment on him, but he does seem to be rated quite highly by a number of people.
The main problem with England's batting is from 6 and down they are horrible. Flintoff's probably the worst number 6 in test cricket outside of Bangladesh, or at least close, and the various keeping options are in a similar boat with the bat. And England's tail is as bad as the West Indies. The top 5 is probably the best in the business bar Australia though. India and Pakistan are reasonably close, but certainly neither of them are clearly better than England, and Sri Lanka, South Africa, the West Indies and New Zealand are all less consistent and have more weak spots. Anyway, I don't see any particular reason England's batting lineup would change any time soon. Someone might end up being dropped to get Vaughan back in, probably Collingwood or one of the bowlers, but that's it.