I just experimented with Tween. Here's a working example (Godot 3.5.1):
extends Sprite
func _ready() -> void:
var tween: Tween = Tween.new()
# Interpolate alpha channel from 1.0 to 0.0 over 3.0 seconds, with 2.0-second delay.
# warning-ignore:return_value_discarded
tween.interpolate_property(self, "modulate:a", 1.0, 0.0, 3.0,
Tween.TRANS_LINEAR, Tween.EASE_IN_OUT, 2.0)
add_child(tween)
# warning-ignore:return_value_discarded
tween.start()
yield(tween, "tween_all_completed")
tween.queue_free()