It would be hard to manually position the blocks. It's a bit better if you use qarp() to do a bezier to position them, but it's still a polyline instead of a curve. You could increase the number of blocks to make it smoother so the ball wouldn't jump.
I suppose you could change the collision polygon to be curved but it would be very hard to get it perfect.
A better solution would require rolling your own collision detection and collision response with events so you can use beziers for collisions.