the trouble with block based raid5/6 is the write hole - when you're partially updating a stripe, you can't avoid having the p/q blocks be momentarily inconsistent because there's no way of doing atomic writes to multiple drives simultaneously (short of full data journalling). That means data unrelated to a given write has inconsistent p/q while that write is in flight.
the appeal of doing raid5/6 within a COW filesystem is that it's potentially an opportunity to get rid of the write hole. Of course, the devil is in the details.