Brother do not get your engine bay washed! Ever!
Well... I can suggest to remove one of the battery terminals when you park your car at night, and let it be as such for whole night. In the morning, reconnect and do idle learning procedure. May be, the issue gets resolved.
In the meantime, also try to dry the engine bay with blower / compressed air, as much as you can, especially the areas concerning coils, plugs, alternator, battery, etc.
If this all does not help, then I think you will have to take your car to some good garage for sorting out the issue(s). May be, the guy also connects your car to computer via OBD port, to check for any / all fault codes, and take remedial actions accordingly.