Preheat oven to 375°F (190°C).
In a pan over medium heat, melt butter and add sliced onions. Cook until golden brown and caramelized, about 15 minutes.
Flatten each chicken breast and season with garlic powder, smoked paprika, salt, and pepper.
Place a portion of caramelized onions and shredded cheeses onto each chicken breast, then roll tightly.
Dip each roll into beaten egg, then coat with a breadcrumb and Parmesan mixture.
Heat olive oil in a skillet and sear chicken rolls on all sides until golden brown.
Transfer to a baking dish and bake for 20-25 minutes until fully cooked.
Garnish with fresh parsley and serve warm.