Both "My car is running well" and "My car has been running well" are grammatical and idiomatic, but they have slightly different meanings. The first says that the car is running well at the current instant, but is silent on whether it was running well yesterday, last week, last month, or last year. It has a more limited meaning than the second sentence, which means that the car is not only running well at the current instant but has been doing so since some definite but unspecified time in the past.
Once we add "so far" to the sentences, the sentence that technically refers only to the current instant becomes somewhat contradictory in terms of logic because "so far" clearly implies durations rather than instances. Lack of logic does not make a sentence ungrammatical or unidiomatic. A careful speaker would avoid "My car is running well so far" and would use instead "My car has been running well so far," but the first of those would be interpreted by a native speaker as meaning the second without even noticing the technical lapse in logic.
Particularly in speech, speakers do not have time to choose their words with perfect forethought, and listeners constantly make unconscious corrections to get the intended meaning.