Personally for side scrolling games such as 2D platformers I like to mix a traditional tile map system with hand placed graphics and objects. Using editors such as [Tiled][1] and [tIDE][2] you can create levels very quickly. By adding a layer of hand placed graphics and objects over the tilemap you can make a map much more interesting and dynamic than you can just with a tilemap alone. 

I use tIDE personally and really like it. However, I don't know how easy it would be to integrate with cocos2d since I've never explored its import/export functionality. Tiled is very mature and a quick Google search finds many [tutorials][3] to help get you started.

I have an in game editor to hand place objects that are not tiles. However, you could use either Tiled's or tIDE's objects layer and properties to align things for. 

  [1]: http://www.mapeditor.org/
  [2]: http://tide.codeplex.com/
  [3]: http://www.raywenderlich.com/1163/how-to-make-a-tile-based-game-with-cocos2d