かれはこうえん[で]{L}さんぽします。
かれはこうえん[を]{L}さんぽします。
Which one of these sentences is more natural and why?
かれはこうえん[で]{L}さんぽします。
かれはこうえん[を]{L}さんぽします。
Which one of these sentences is more natural and why?
Please read my answer here first: を vs. で for Intransitive Motion Verbs
The verb さんぽする is somewhat tricky, as it falls between verbs which are almost purely about traveling (e.g., いく and あるく) and verbs which do not usually involve traveling (e.g., おどる). さんぽ definitely involves movement, but it can be done purely for health or recreation purposes. In your case, こうえんをさんぽします is usually more natural, but こうえんでさんぽします is also acceptable.
This is similar to how both プールをおよぐ and プールでおよぐ are correct. When you say "to swim from one end to the other of a 50-meter pool" in contexts like competitive swimming, the primary purpose is movement, so you need to use を. But when swimming for recreational purposes in a small pool, プールでおよぐ is the correct choice.
When there is no movement involved, で should be used. For example, ジムで30分あるきました ("I walked for 30 minutes at the gym") is natural, but ジムを30分あるきました ("I walked for 30 minutes across the gym") sounds quite odd.