It's largely depending on the API and the development environment, and MS has a long history on providing the developers what they need(DX SDK, XBOX SDK, VC++ IDE set good examples).
Generally speaking, assuming the support from software side are about the same for XBOX2 and PS3, programming for PS3 could be slightly easier.
XBOX2 has 3 cores each is capable of 2 way SMT, that adds up to 6 threads. In order to fully explore the power of hardware, you'll need to split your code to 6 parts as evenly and as indepedently as possible. Believe me, it's not easy at all to do that.
For PS3, there's only one core, 2 threads then. I'm under the impression that SPE can only handle a specific kind of job (computational intensive, regular memory access, coherent data structure). That means you can't use them as often as the general purpose PPC cores. So you only need to split the program to 2 parts, and identify those parts can be accelerated by the SPE, assigning them to the SPE. We still don't know how the API for the SPEs would be, but it's probably like programming for GPUs on PC, with higher flexbility.