Hi @Sharuk,
Have you solved your problem?
Do you want the format currency to display in real time within the TextInput?
As @zmansuri mentioned, this OnChange setting will render for a while which is by design.
As an alternative solution, to solve the delay issue, I think you could add a Timer and set its Visible property as false for the UI look.
1). Here is something change you should set the properties of the Timer
OnTimerStart:
Set(CurrencyF,Text(Value(TextInput18.Text),"[$-en-US]#,###,###"))
Duration property: 1
Repeat property: true
AutoStart property: true
AutoPause property: true
2). Here is something change you should set the properties of the Text Input
Default property: CurrencyF
DelayOutput property: false

Hope it could help you at some degree.