It never hurts to go a bit more realistic. Buoyancy force is proportional to the area of the object underwater.
So a very rough calculation utilizing the sprite's bounding box could be:
apply force 0, -k*(sprite.bboxright-sprite.bboxleft)*max(0, sprite.bboxbottom-waterY)
where waterY is the y of the water level and "k" is some number to tune it. You could probably start by setting k to 1 and go from there. I had to fiddle with it quite a bit to get something i was happy with.
The only drawback is no torque is applied so I utilized imagepoints to be the centers of the box divided into four, and doing the approximate force for each. It actually gave very pleasing results and long planks would level out. To avoid bouning out of the water I cranked up the damping when in contact with water.
dropbox.com/s/opgdhktdnqh5uwu/approx_buoyancy.capx
Here's an old topic with a few more ideas:
construct.net/en/forum/construct-2/how-do-i-18/physics-float-in-water-133996
One was to use sine which may work depending on what you're looking for.
The second was to calculate the actual area under the water, and the Center of mass of that area. It's much more realistic. The box2d example bounces a bit much, but turning up the angular damping helps.