Set oven to 325 degrees F.Butter a large baking dish.
Pound the chicken breast until flat (pound just enough to roll up easily). Place 1 slice cream cheese in the middle of each breast. Roll up the chicken breast (it does not matter if a little of the cream cheese comes out of the sides). Wrap 2 slices of bacon around each breast, secure with a toothpick then place into prepared baking dish.
In a bowl mix undiluted soup with Parmesan cheese, sour cream, mayonnaise, milk, onion, salt and black pepper; mix until well combined then pour over chicken. Bake for about 45 minutes or until the chicken is fully cooked.
Remove from oven and sprinkle with cheddar cheese (if using) then return to oven for a few minutes to melt cheese.