Hmmm. Interesting question. Based purely on a popularity contest ARM is the way to go as it's currently the darling of at least a dozen companies making variants of the Cortex-M0/3/4/7. The PIC32, on the other hand, is a one-act play from Microchip.
Narrowing the decision down to STM32 and PIC32 complicates things somewhat. STM32 is based on the ARM Cortex-M series, while PIC32 is based on MIPS32. Both of these are nice and viable 32-bit architectures, so there's really no reason to choose one or the other purely on the basis of the core. The core is only one part of a microcontroller, however, and both support roughly the same set of peripherals. In my opinion, the PIC32 peripherals are somewhat simpler and easier to understand than the equivalent STM32 peripherals, but that's a minor point.
Development support is another matter. There are many more options with STM32 (and ARM in general) than there are for PIC32. I know of three development environments for PIC32: MPLAB X/XC32 by Microchip, mikroC by Mikroelektronika, and EmBitz. MPLAB X and EmBitz are free and mikroC is not (although at USD$300 it's not too pricey). There are many others for STM32, include some expensive commercial products (IAR and Keil), some medium priced commercial tools (Rowley CrossWorks and VisualGDB), and free tools (EmBitz, Atollic TrueStudio).
STM32 has an advantage over PIC32 when it comes to hardware debuggers. Microchip has the $48 PICkit3, but it's slow and only usable with the PIC32 if you have lots of time on your hands. The next step up is the ICD-3, at $200, which is much faster than the PICkit3. ST has the ST-LINK/V2, which is only around $20, and it's faster than the $200 ICD-3.
Bottom line: you could choose either STM32 or PIC32 and get along fine. Skills learned on the STM32 are more transferable to other manufacturer's parts based on the ARM Cortex-M, so in my opinion that's really the primary reason to go with that choice over the PIC32 (that, and the wider choice of development tools and cheaper hardware debuggers).